diff options
Diffstat (limited to 'compiler')
-rwxr-xr-x | compiler/semexprs.nim | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler/semexprs.nim b/compiler/semexprs.nim index aea1227d0..803dcdcfe 100755 --- a/compiler/semexprs.nim +++ b/compiler/semexprs.nim @@ -762,10 +762,11 @@ proc makeDeref(n: PNode): PNode = result = newNodeIT(nkHiddenDeref, n.info, t.sons[0]) addSon(result, n) t = skipTypes(t.sons[0], {tyGenericInst}) - if t.kind in {tyPtr, tyRef}: + while t.kind in {tyPtr, tyRef}: var a = result result = newNodeIT(nkHiddenDeref, n.info, t.sons[0]) addSon(result, a) + t = skipTypes(t.sons[0], {tyGenericInst}) proc builtinFieldAccess(c: PContext, n: PNode, flags: TExprFlags): PNode = ## returns nil if it's not a built-in field access |