mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-28 17:04:41 +00:00
@@ -382,7 +382,13 @@ proc genSingleVar(p: BProc, v: PSym; vn, value: PNode) =
|
||||
|
||||
proc genSingleVar(p: BProc, a: PNode) =
|
||||
let v = a[0].sym
|
||||
if sfCompileTime in v.flags: return
|
||||
if sfCompileTime in v.flags:
|
||||
# fix issue #12640
|
||||
# {.global, compileTime.} pragma in proc
|
||||
if sfGlobal in v.flags and p.prc != nil and p.prc.kind == skProc:
|
||||
discard
|
||||
else:
|
||||
return
|
||||
genSingleVar(p, v, a[0], a[2])
|
||||
|
||||
proc genClosureVar(p: BProc, a: PNode) =
|
||||
|
||||
25
tests/pragmas/t12640.nim
Normal file
25
tests/pragmas/t12640.nim
Normal file
@@ -0,0 +1,25 @@
|
||||
discard """
|
||||
nimout: '''1
|
||||
2
|
||||
3
|
||||
[1, 2, 3]'''
|
||||
|
||||
output: '''1
|
||||
2
|
||||
3
|
||||
[1, 2, 3]'''
|
||||
"""
|
||||
|
||||
|
||||
proc doIt(a: openArray[int]) =
|
||||
echo a
|
||||
|
||||
proc foo() =
|
||||
var bug {.global, compiletime.}: seq[int]
|
||||
bug = @[1, 2 ,3]
|
||||
for i in 0 .. high(bug): echo bug[i]
|
||||
doIt(bug)
|
||||
|
||||
static:
|
||||
foo()
|
||||
foo()
|
||||
Reference in New Issue
Block a user