Skip to content

Commit d839eb9

Browse files
cooldomecooldome
and
cooldome
authored
fix #14007 (#14012) [backport]
Co-authored-by: cooldome <[email protected]>
1 parent f10689d commit d839eb9

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

compiler/semfold.nim

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -722,7 +722,11 @@ proc getConstExpr(m: PSym, n: PNode; g: ModuleGraph): PNode =
722722
of nkBracketExpr: result = foldArrayAccess(m, n, g)
723723
of nkDotExpr: result = foldFieldAccess(m, n, g)
724724
of nkStmtListExpr:
725-
if n.len == 2 and n[0].kind == nkComesFrom:
726-
result = getConstExpr(m, n[1], g)
725+
var i = 0
726+
while i <= n.len - 2:
727+
if n[i].kind in {nkComesFrom, nkCommentStmt, nkEmpty}: i.inc
728+
else: break
729+
if i == n.len - 1:
730+
result = getConstExpr(m, n[i], g)
727731
else:
728732
discard

tests/types/tyet_another_generic_regression.nim

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,12 @@ const
3030
}.toTable
3131

3232
#map["test"]()
33+
34+
#-------------------------------------------------------------------
35+
# bug
36+
const val = 10
37+
38+
type
39+
t = object
40+
when val >= 10:
41+
a: int

0 commit comments

Comments
 (0)