summary refs log tree commit diff stats
path: root/compiler
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2013-11-19 02:34:22 -0800
committerAndreas Rumpf <rumpf_a@web.de>2013-11-19 02:34:22 -0800
commitfb810e25c46de6fcbce20322bdf6dbbc88f3ba6f (patch)
tree02ec64a815eb46d755c011f65af6ed0889b4026e /compiler
parenta3163aa2cf3f6b1de8617e34a863b87ec4d8adbe (diff)
parentc9d6e04636c03591b9ef3490d24103ecf6ef2973 (diff)
downloadNim-fb810e25c46de6fcbce20322bdf6dbbc88f3ba6f.tar.gz
Merge pull request #680 from Varriount/core/fix-generic-crashes
Prevent lambdas from crashing if given implicit generic parameters.
Diffstat (limited to 'compiler')
-rw-r--r--compiler/semstmts.nim5
1 files changed, 3 insertions, 2 deletions
diff --git a/compiler/semstmts.nim b/compiler/semstmts.nim
index f514a93d7..6702075da 100644
--- a/compiler/semstmts.nim
+++ b/compiler/semstmts.nim
@@ -883,8 +883,9 @@ proc semLambda(c: PContext, n: PNode, flags: TExprFlags): PNode =
   openScope(c)
   if n.sons[genericParamsPos].kind != nkEmpty:
     illFormedAst(n)           # process parameters:
-  if n.sons[paramsPos].kind != nkEmpty: 
-    semParamList(c, n.sons[ParamsPos], nil, s)
+  if n.sons[paramsPos].kind != nkEmpty:
+    var gp = newNodeI(nkGenericParams, n.info)
+    semParamList(c, n.sons[ParamsPos], gp, s)
     ParamsTypeCheck(c, s.typ)
   else:
     s.typ = newTypeS(tyProc, c)