From a60f18d0255f400cb111eacbad79c81e06f6363e Mon Sep 17 00:00:00 2001 From: Andreas Rumpf Date: Sun, 6 Oct 2019 19:38:21 +0200 Subject: fixes #12323 [backport] --- compiler/lambdalifting.nim | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/compiler/lambdalifting.nim b/compiler/lambdalifting.nim index d783e0554..33eacefbd 100644 --- a/compiler/lambdalifting.nim +++ b/compiler/lambdalifting.nim @@ -477,7 +477,7 @@ proc detectCapturedVars(n: PNode; owner: PSym; c: var DetectionPass) = w = up of nkEmpty..pred(nkSym), succ(nkSym)..nkNilLit, nkTemplateDef, nkTypeSection, nkProcDef, nkMethodDef, - nkConverterDef, nkMacroDef, nkFuncDef, nkCommentStmt: + nkConverterDef, nkMacroDef, nkFuncDef, nkCommentStmt, nkTypeOfExpr: discard of nkLambdaKinds, nkIteratorDef: if n.typ != nil: @@ -760,6 +760,8 @@ proc liftCapturedVars(n: PNode; owner: PSym; d: DetectionPass; n[0].sons[1] = liftCapturedVars(n[0].sons[1], owner, d, c) else: n.sons[0] = liftCapturedVars(n[0], owner, d, c) + of nkTypeOfExpr: + result = n else: if owner.isIterator: if nfLL in n.flags: -- cgit 1.4.1-2-gfad0