From fb641483f0e2ed974b89d629ea5ec28e5e6145ce Mon Sep 17 00:00:00 2001 From: Andreas Rumpf Date: Wed, 18 Mar 2020 16:57:34 +0100 Subject: arc optimizations (#13325) * scope based destructors * handle 'or' and 'and' expressions properly, see the new test arc/tcontrolflow.nim * make this branch mergable, logic is disabled for now --- lib/system.nim | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) (limited to 'lib/system.nim') diff --git a/lib/system.nim b/lib/system.nim index 602fbc1f1..cd941b19f 100644 --- a/lib/system.nim +++ b/lib/system.nim @@ -1954,14 +1954,7 @@ template newException*(exceptn: typedesc, message: string; parentException: ref Exception = nil): untyped = ## Creates an exception object of type ``exceptn`` and sets its ``msg`` field ## to `message`. Returns the new exception object. - when declared(owned): - var e: owned(ref exceptn) - else: - var e: ref exceptn - new(e) - e.msg = message - e.parent = parentException - e + (ref exceptn)(msg: message, parent: parentException) when hostOS == "standalone" and defined(nogc): proc nimToCStringConv(s: NimString): cstring {.compilerproc, inline.} = -- cgit 1.4.1-2-gfad0