summary refs log tree commit diff stats
path: root/tests/destructor/tv2_cast.nim
diff options
context:
space:
mode:
authorringabout <43030857+ringabout@users.noreply.github.com>2023-03-02 12:29:40 +0800
committerGitHub <noreply@github.com>2023-03-02 05:29:40 +0100
commita137e50150cdbc48fcfb02064aa0c064fec4c7e8 (patch)
tree600d487e4989a715ade7bd15c0e0a3f0a39fe736 /tests/destructor/tv2_cast.nim
parent9948fed919389229a48347aa9fa5adce9b7e0a98 (diff)
downloadNim-a137e50150cdbc48fcfb02064aa0c064fec4c7e8.tar.gz
fixes #19291; implements `wasMoved` hook (#21303)
* fixes #19291; implements `wasMoved` hook

* basics

* checkpoint

* finish `wasMoved`

* add a test for #19291

* add documentation and changelog

* work `attachedWasMoved` with generics

* fixes optimizer

* register `=wasMoved`

* handle wasMoved magcis

* check another round

* some patches

* try `op == nil`

* nicer

* generate `wasMoved` before `destroy`

* try again

* fixes tests

* default wasMoved

* Update tests/destructor/tv2_cast.nim

* Update tests/destructor/tv2_cast.nim

* Update tests/arc/topt_refcursors.nim
Diffstat (limited to 'tests/destructor/tv2_cast.nim')
-rw-r--r--tests/destructor/tv2_cast.nim14
1 files changed, 8 insertions, 6 deletions
diff --git a/tests/destructor/tv2_cast.nim b/tests/destructor/tv2_cast.nim
index 917cf0eb3..6fa419996 100644
--- a/tests/destructor/tv2_cast.nim
+++ b/tests/destructor/tv2_cast.nim
@@ -4,7 +4,8 @@ discard """
 @[1953719668, 875770417]
 destroying O1'''
   cmd: '''nim c --gc:arc --expandArc:main --expandArc:main1 --expandArc:main2 --expandArc:main3 --hints:off --assertions:off $file'''
-  nimout: '''--expandArc: main
+  nimout: '''
+--expandArc: main
 
 var
   data
@@ -12,7 +13,7 @@ var
   :tmpD_1
   :tmpD_2
 data =
-  wasMoved(:tmpD)
+  `=wasMoved`(:tmpD)
   `=copy`(:tmpD, cast[string](
     :tmpD_2 = encode(cast[seq[byte]](
       :tmpD_1 = newString(100)
@@ -32,7 +33,7 @@ var
   :tmpD_1
 s = newString(100)
 data =
-  wasMoved(:tmpD)
+  `=wasMoved`(:tmpD)
   `=copy`(:tmpD, cast[string](
     :tmpD_1 = encode(toOpenArrayByte(s, 0, len(s) - 1))
     :tmpD_1))
@@ -50,7 +51,7 @@ var
   :tmpD_1
 s = newSeq(100)
 data =
-  wasMoved(:tmpD)
+  `=wasMoved`(:tmpD)
   `=copy`(:tmpD, cast[string](
     :tmpD_1 = encode(s)
     :tmpD_1))
@@ -67,7 +68,7 @@ var
   :tmpD_1
   :tmpD_2
 data =
-  wasMoved(:tmpD)
+  `=wasMoved`(:tmpD)
   `=copy`(:tmpD, cast[string](
     :tmpD_2 = encode do:
       :tmpD_1 = newSeq(100)
@@ -77,7 +78,8 @@ data =
 `=destroy`(:tmpD_2)
 `=destroy`(:tmpD_1)
 `=destroy_1`(data)
--- end of expandArc ------------------------'''
+-- end of expandArc ------------------------
+'''
 """
 
 func encode*(src: openArray[byte]): seq[byte] =