Consider the following:
module A
export foo
whoami() = "A"
foo() = whoami()
end
module B
using Main.A
whoami() = "B"
end
B.foo() # "A"
I understand why that’s the case but is there a way to call A.foo
“in the context of B
” i.e. effectively calling B.whomai()
and returning "B"
? (short of re-defining foo
manually in B
). I tried using @__MODULE__
in the definition of foo
but either used it incorrectly or it’s not the right way to go.
The following does part of what I want but I’d like not to modify A
outside of the scope of B
.
module B
using Main.A;
import Main.A.whoami
whoami() = "B"
end
B.foo() # "B" ok
A.foo() # "B" nok
Thanks