From 5a1ed8f4d40b0f391d49e1749e4b3ff07a5306f1 Mon Sep 17 00:00:00 2001 From: cooldome Date: Sat, 18 Apr 2020 15:15:17 +0100 Subject: [PATCH] fix #14007 (#14012) [backport] Co-authored-by: cooldome (cherry picked from commit d839eb9352a6711fcdee23457605a1fa2e41f7d6) --- compiler/semfold.nim | 8 ++++++-- tests/types/tyet_another_generic_regression.nim | 9 +++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/compiler/semfold.nim b/compiler/semfold.nim index fd7b5bbd9c..bac43cc940 100644 --- a/compiler/semfold.nim +++ b/compiler/semfold.nim @@ -733,7 +733,11 @@ proc getConstExpr(m: PSym, n: PNode; g: ModuleGraph): PNode = of nkBracketExpr: result = foldArrayAccess(m, n, g) of nkDotExpr: result = foldFieldAccess(m, n, g) of nkStmtListExpr: - if n.len == 2 and n[0].kind == nkComesFrom: - result = getConstExpr(m, n[1], g) + var i = 0 + while i <= n.len - 2: + if n[i].kind in {nkComesFrom, nkCommentStmt, nkEmpty}: i.inc + else: break + if i == n.len - 1: + result = getConstExpr(m, n[i], g) else: discard diff --git a/tests/types/tyet_another_generic_regression.nim b/tests/types/tyet_another_generic_regression.nim index 0839937570..2e5f9bb238 100644 --- a/tests/types/tyet_another_generic_regression.nim +++ b/tests/types/tyet_another_generic_regression.nim @@ -30,3 +30,12 @@ const }.toTable #map["test"]() + +#------------------------------------------------------------------- +# bug +const val = 10 + +type + t = object + when val >= 10: + a: int