From 2eff0ca2b8223150eb86ef7ec6824a01d0a28893 Mon Sep 17 00:00:00 2001 From: Araq Date: Fri, 2 Nov 2018 12:12:23 +0100 Subject: [PATCH] added test case for #9594 --- .../destructor/tuse_result_prevents_sinks.nim | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 tests/destructor/tuse_result_prevents_sinks.nim diff --git a/tests/destructor/tuse_result_prevents_sinks.nim b/tests/destructor/tuse_result_prevents_sinks.nim new file mode 100644 index 0000000000..4c32eac916 --- /dev/null +++ b/tests/destructor/tuse_result_prevents_sinks.nim @@ -0,0 +1,31 @@ +discard """ + output: "" +""" + +# bug #9594 + +type + Foo = object + i: int + +proc `=`(self: var Foo; other: Foo) = + self.i = other.i + 1 + +proc `=sink`(self: var Foo; other: Foo) = + self.i = other.i + +proc `=destroy`(self: var Foo) = discard + +proc test(): Foo = + result = Foo() + let temp = result + doAssert temp.i > 0 + return result + +proc testB(): Foo = + result = Foo() + let temp = result + doAssert temp.i > 0 + +discard test() +discard testB()