I have two modules that are included by a julia program. Let's call them
Primary and External.
Primary contains a list of names in an array that's global to the module
and a method to register new names:
module Primary
global names = AbstractString[]
function registerName(name::AbstractString)
push!(names, name)
end
end
External needs to register a name into Primary, and does that in its
initialization code:
module External
using Primary
Primary.registerName("external")
end
This works. If I load both modules into my program or the REPL,
Primary.names contains "external"
However, if I add __precompile__(true) to the top of Primary, this no
longer works. Primary.names is now always an empty array. However, I can
still call Primary.registerName from the REPL or my program and it works.
Is there any way for me to get Primary.registerName to work when called
from a second module?