summary refs log tree commit diff stats
path: root/compiler/injectdestructors.nim
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/injectdestructors.nim')
-rw-r--r--compiler/injectdestructors.nim6
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/injectdestructors.nim b/compiler/injectdestructors.nim
index 40ff7ab55..63cfbbd9f 100644
--- a/compiler/injectdestructors.nim
+++ b/compiler/injectdestructors.nim
@@ -866,9 +866,9 @@ proc p(n: PNode; c: var Con; s: var Scope; mode: ProcessMode): PNode =
         if it.kind == nkVarTuple and hasDestructor(c, ri.typ):
           let x = lowerTupleUnpacking(c.graph, it, c.idgen, c.owner)
           result.add p(x, c, s, consumed)
-        elif it.kind == nkIdentDefs and hasDestructor(c, it[0].typ):
+        elif it.kind == nkIdentDefs and hasDestructor(c, skipPragmaExpr(it[0]).typ):
           for j in 0..<it.len-2:
-            let v = it[j]
+            let v = skipPragmaExpr(it[j])
             if v.kind == nkSym:
               if sfCompileTime in v.sym.flags: continue
               pVarTopLevel(v, c, s, result)
@@ -1125,7 +1125,7 @@ proc injectDefaultCalls(n: PNode, c: var Con) =
       if it.kind == nkIdentDefs and it[^1].kind == nkEmpty:
         computeUninit(c)
         for j in 0..<it.len-2:
-          let v = it[j]
+          let v = skipPragmaExpr(it[j])
           doAssert v.kind == nkSym
           if c.uninit.contains(v.sym.id):
             it[^1] = genDefaultCall(v.sym.typ, c, v.info)