diff options
author | Lolo Iccl <oxisccl@gmail.com> | 2017-01-19 05:04:03 +0900 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2017-01-18 21:04:03 +0100 |
commit | a296f091e456b706dab52916da4ad73f308a2345 (patch) | |
tree | f6784af013c01bf301c121143df3ac3b95467d48 /compiler | |
parent | fe0291f12708edd0c85ac53b3bd84a3411b8dfae (diff) | |
download | Nim-a296f091e456b706dab52916da4ad73f308a2345.tar.gz |
Fixes #5225 (#5243)
* Fixes #5225 * Fixes #5225 * Fixes #5225 fix typo
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/semtempl.nim | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/compiler/semtempl.nim b/compiler/semtempl.nim index dfe3ded0d..e016e689c 100644 --- a/compiler/semtempl.nim +++ b/compiler/semtempl.nim @@ -263,9 +263,16 @@ proc semRoutineInTemplBody(c: var TemplCtx, n: PNode, k: TSymKind): PNode = n.sons[namePos] = ident else: n.sons[namePos] = semRoutineInTemplName(c, n.sons[namePos]) + # open scope for parameters openScope(c) - for i in patternPos..bodyPos: + for i in patternPos..miscPos: n.sons[i] = semTemplBody(c, n.sons[i]) + # open scope for locals + openScope(c) + n.sons[bodyPos] = semTemplBody(c, n.sons[bodyPos]) + # close scope for locals + closeScope(c) + # close scope for parameters closeScope(c) proc semTemplSomeDecl(c: var TemplCtx, n: PNode, symKind: TSymKind; start=0) = |