From 299e944cf7777c9ac86ded5aa893d5af9cc08932 Mon Sep 17 00:00:00 2001 From: Andreas Rumpf Date: Sat, 24 Mar 2018 10:10:28 +0100 Subject: fixes the 'var T' checking --- compiler/parampatterns.nim | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'compiler/parampatterns.nim') diff --git a/compiler/parampatterns.nim b/compiler/parampatterns.nim index 6c37c976a..9ca9f110d 100644 --- a/compiler/parampatterns.nim +++ b/compiler/parampatterns.nim @@ -180,14 +180,11 @@ type proc exprRoot*(n: PNode): PSym = var it = n - # the sem'check can generate a spurious 'nkHiddenDeref' for some - # cases. we skip it here: - if it.kind == nkHiddenDeref: it = it[0] while true: case it.kind of nkSym: return it.sym of nkDotExpr, nkBracketExpr, nkHiddenAddr, - nkObjUpConv, nkObjDownConv, nkCheckedFieldExpr: + nkObjUpConv, nkObjDownConv, nkCheckedFieldExpr, nkHiddenDeref: it = it[0] of nkHiddenStdConv, nkHiddenSubConv, nkConv: it = it[1] @@ -202,7 +199,7 @@ proc exprRoot*(n: PNode): PSym = else: break else: - # nkHiddenDeref, nkDerefExpr: assume the 'var T' addresses + # nkDerefExpr: assume the 'var T' addresses # the heap and so the location is not on the stack. break -- cgit 1.4.1-2-gfad0