diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2013-11-19 02:34:22 -0800 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2013-11-19 02:34:22 -0800 |
commit | fb810e25c46de6fcbce20322bdf6dbbc88f3ba6f (patch) | |
tree | 02ec64a815eb46d755c011f65af6ed0889b4026e | |
parent | a3163aa2cf3f6b1de8617e34a863b87ec4d8adbe (diff) | |
parent | c9d6e04636c03591b9ef3490d24103ecf6ef2973 (diff) | |
download | Nim-fb810e25c46de6fcbce20322bdf6dbbc88f3ba6f.tar.gz |
Merge pull request #680 from Varriount/core/fix-generic-crashes
Prevent lambdas from crashing if given implicit generic parameters.
-rw-r--r-- | compiler/semstmts.nim | 5 |
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) |