mirror of
https://github.com/nim-lang/Nim.git
synced 2026-02-14 07:13:27 +00:00
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
This commit is contained in:
@@ -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.} =
|
||||
|
||||
Reference in New Issue
Block a user