diff options
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/injectdestructors.nim | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/compiler/injectdestructors.nim b/compiler/injectdestructors.nim index 9d1f43595..28f2c93f1 100644 --- a/compiler/injectdestructors.nim +++ b/compiler/injectdestructors.nim @@ -699,9 +699,8 @@ proc p(n: PNode; c: var Con; s: var Scope; mode: ProcessMode): PNode = elif n.kind in {nkObjDownConv, nkObjUpConv}: result = copyTree(n) result[0] = p(n[0], c, s, sinkArg) - elif n.typ == nil or n.typ.skipTypes({tyGenericInst, tyAlias, tySink, tyVar}).kind == tyOpenArray: - # 'raise X' can be part of a 'case' expression. Deal with it here. - # openarrays require perfect forwarding + elif n.typ == nil: + # 'raise X' can be part of a 'case' expression. Deal with it here: result = p(n, c, s, normal) else: # copy objects that are not temporary but passed to a 'sink' parameter |