Skip to content

Commit 67c9989

Browse files
authored
Fix lowering for export and similar (#54812)
Keep things as raw symbols - don't try to rename them. Fixes #54805.
1 parent f4b81af commit 67c9989

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

src/julia-syntax.scm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5124,7 +5124,7 @@ f(x) = yt(x)
51245124
((nospecialize-meta? e)
51255125
;; convert nospecialize vars to slot numbers
51265126
`(meta ,(cadr e) ,@(map renumber-stuff (cddr e))))
5127-
((or (atom? e) (quoted? e) (eq? (car e) 'global) (eq? (car e) 'toplevel))
5127+
((or (atom? e) (quoted? e) (memq (car e) '(using import export public global toplevel)))
51285128
e)
51295129
((ssavalue? e)
51305130
(let ((idx (get ssavalue-table (cadr e) #f)))

test/syntax.jl

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3736,3 +3736,14 @@ begin
37363736
Foreign54607.bar = 9
37373737
end
37383738
@test Foreign54607.bar == 9
3739+
3740+
# Issue #54805 - export mislowering
3741+
module Export54805
3742+
let
3743+
local b54805=1
3744+
export b54805
3745+
end
3746+
b54805 = 2
3747+
end
3748+
using .Export54805
3749+
@test b54805 == 2

0 commit comments

Comments
 (0)