diff options
author | Araq <rumpf_a@web.de> | 2015-04-11 02:28:06 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2015-04-11 10:01:10 +0200 |
commit | d89a20cc1d1ddc497807825c1a80597630e7fa63 (patch) | |
tree | 1eb86a6251455feed5210df2272e360a04a83c4b /compiler/seminst.nim | |
parent | 670367e13b5310f627bb114973d7f99d4942bcc8 (diff) | |
download | Nim-d89a20cc1d1ddc497807825c1a80597630e7fa63.tar.gz |
fixes #2509
Diffstat (limited to 'compiler/seminst.nim')
-rw-r--r-- | compiler/seminst.nim | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/compiler/seminst.nim b/compiler/seminst.nim index dc36ecf34..f72e2dc5b 100644 --- a/compiler/seminst.nim +++ b/compiler/seminst.nim @@ -176,7 +176,9 @@ proc instantiateProcType(c: PContext, pt: TIdTable, for i in 1 .. <result.len: # twrong_field_caching requires these 'resetIdTable' calls: - if i > 1: resetIdTable(cl.symMap) + if i > 1: + resetIdTable(cl.symMap) + resetIdTable(cl.localCache) result.sons[i] = replaceTypeVarsT(cl, result.sons[i]) propagateToOwner(result, result.sons[i]) internalAssert originalParams[i].kind == nkSym @@ -196,6 +198,7 @@ proc instantiateProcType(c: PContext, pt: TIdTable, addDecl(c, result.n.sons[i].sym) resetIdTable(cl.symMap) + resetIdTable(cl.localCache) result.sons[0] = replaceTypeVarsT(cl, result.sons[0]) result.n.sons[0] = originalParams[0].copyTree |