summary refs log tree commit diff stats
path: root/tests/arc
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2020-05-04 07:43:22 +0200
committerGitHub <noreply@github.com>2020-05-04 07:43:22 +0200
commitb6fb609e0d263a209c6db48dd367f13eb7f4ff87 (patch)
treef2f177bb2c63bd28f8927501f6be6f48cca27dd4 /tests/arc
parent3e060cfb0ab6b1affe26a7b09e6b4192e0d68a7f (diff)
downloadNim-b6fb609e0d263a209c6db48dd367f13eb7f4ff87.tar.gz
destructors: don't produce stupid code for 'cast' (#14208) [backport:1.2]
* destructors: don't produce stupid code for 'cast'

* fixes #14207
Diffstat (limited to 'tests/arc')
-rw-r--r--tests/arc/tarcmisc.nim14
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/arc/tarcmisc.nim b/tests/arc/tarcmisc.nim
index ce8e902c6..c0583a640 100644
--- a/tests/arc/tarcmisc.nim
+++ b/tests/arc/tarcmisc.nim
@@ -1,5 +1,6 @@
 discard """
   output: '''
+123xyzabc
 destroyed: false
 destroyed: false
 closed
@@ -8,6 +9,19 @@ destroying variable
   cmd: "nim c --gc:arc $file"
 """
 
+proc takeSink(x: sink string): bool = true
+
+proc b(x: sink string): string =
+  if takeSink(x):
+    return x & "abc"
+
+proc bbb(inp: string) =
+  let y = inp & "xyz"
+  echo b(y)
+
+bbb("123")
+
+
 # bug #13691
 type Variable = ref object
   value: int