diff options
Diffstat (limited to 'compiler/semexprs.nim')
-rw-r--r-- | compiler/semexprs.nim | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/compiler/semexprs.nim b/compiler/semexprs.nim index 6638848df..cd27cf15d 100644 --- a/compiler/semexprs.nim +++ b/compiler/semexprs.nim @@ -956,9 +956,10 @@ proc makeDeref(n: PNode): PNode = t = skipTypes(t.sons[0], {tyGenericInst}) while t.kind in {tyPtr, tyRef}: var a = result - result = newNodeIT(nkHiddenDeref, n.info, t.sons[0]) + let baseTyp = t.lastSon + result = newNodeIT(nkHiddenDeref, n.info, baseTyp) addSon(result, a) - t = skipTypes(t.lastSon, {tyGenericInst}) + t = skipTypes(baseTyp, {tyGenericInst}) const tyTypeParamsHolders = {tyGenericInst, tyCompositeTypeClass} |