From 9d667306df0c40c11ae91a4581af9773e95b3963 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 f0971bf099..ea4d4c8da5 100644 --- a/compiler/semfold.nim +++ b/compiler/semfold.nim @@ -716,7 +716,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