diff options
author | flywind <xzsflywind@gmail.com> | 2021-03-05 23:21:33 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-05 16:21:33 +0100 |
commit | 19be5eb1ebfc92c66ebf39c81c46209df734e89f (patch) | |
tree | 8bf0ea182f4e6d8fb195f8406ba07d606af39152 /lib/std | |
parent | b2b23d723afde51d54a63d1c19e0ae04d6d826c7 (diff) | |
download | Nim-19be5eb1ebfc92c66ebf39c81c46209df734e89f.tar.gz |
Add unsafeIsolate and extract to std/isolation [backport:1.4] (#17263)
Diffstat (limited to 'lib/std')
-rw-r--r-- | lib/std/isolation.nim | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/std/isolation.nim b/lib/std/isolation.nim index 7c44f47fb..70395d6d4 100644 --- a/lib/std/isolation.nim +++ b/lib/std/isolation.nim @@ -30,3 +30,11 @@ func isolate*[T](value: sink T): Isolated[T] {.magic: "Isolate".} = ## Please read https://github.com/nim-lang/RFCs/issues/244 ## for more details. Isolated[T](value: value) + +func unsafeIsolate*[T](value: sink T): Isolated[T] = + ## Creates an isolated subgraph from the expression `value`. + Isolated[T](value: value) + +func extract*[T](src: var Isolated[T]): T = + ## Returns the internal value of `src`. + result = move(src.value) |