Miscellaneous
Global variables and precompilation
Due to limitations of the precompilation of modules in julia, global variables referring to certain Nemo types require special attention when used inside modules. As a simple example, the following code for a module called A will not work as expected:
module A
using Nemo
Qx, x = QQ["x"]
f(n) = x^n
endWhen running julia and loading the module via using/import A, calling f will lead to segmentation faults. The preferred workaround is to put the definitions of the global variables into the __init__() function of the module as follows:
module A
using Nemo
function __init__()
  global (Qx, x) = QQ["x"]
end
f(n) = x^n
endAlternatively, one can disable precompilation by adding __precompile__(false) inside A. Note that this might have other unwanted side effects.