diff --git a/src/module.c b/src/module.c index 8f37cc00b1bd6..63dff3ae6deb7 100644 --- a/src/module.c +++ b/src/module.c @@ -528,7 +528,7 @@ static void module_import_(jl_module_t *to, jl_module_t *from, jl_sym_t *s, jl_s } } else { - jl_binding_t *nb = new_binding(s); + jl_binding_t *nb = new_binding(b->name); nb->owner = b->owner; nb->imported = (explici!=0); nb->deprecated = b->deprecated; diff --git a/test/syntax.jl b/test/syntax.jl index ff65cb235d92c..9d8597e21ba67 100644 --- a/test/syntax.jl +++ b/test/syntax.jl @@ -2514,6 +2514,7 @@ end end module Mod2 +import ..Mod.x as x_from_mod const y = 2 end @@ -2554,6 +2555,11 @@ import .Mod.@mac as @m @test_throws ErrorException eval(:(import .Mod.func as @notmacro)) @test_throws ErrorException eval(:(using .Mod: @mac as notmacro)) @test_throws ErrorException eval(:(using .Mod: func as @notmacro)) + +import .Mod2.x_from_mod + +@test @isdefined(x_from_mod) +@test x_from_mod == Mod.x end import .TestImportAs.Mod2 as M2