diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2020-05-04 07:43:22 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-04 07:43:22 +0200 |
commit | b6fb609e0d263a209c6db48dd367f13eb7f4ff87 (patch) | |
tree | f2f177bb2c63bd28f8927501f6be6f48cca27dd4 /tests/arc | |
parent | 3e060cfb0ab6b1affe26a7b09e6b4192e0d68a7f (diff) | |
download | Nim-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.nim | 14 |
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 |