From f39aa1b40bd617e5ac13f67b38548e91d49bf107 Mon Sep 17 00:00:00 2001 From: LemonBoy Date: Sat, 23 Feb 2019 14:03:32 +0100 Subject: discard destroys its argument in-place (#9478) --- tests/destructor/tdiscard.nim | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 tests/destructor/tdiscard.nim (limited to 'tests/destructor') diff --git a/tests/destructor/tdiscard.nim b/tests/destructor/tdiscard.nim new file mode 100644 index 000000000..2e4a4b285 --- /dev/null +++ b/tests/destructor/tdiscard.nim @@ -0,0 +1,18 @@ +type + O = object + +var dCalls = 0 + +proc `=destroy`(x: var O) = inc dCalls +proc `=sink`(x: var O, y: O) = doAssert false + +proc newO(): O = discard + +proc main() = + doAssert dCalls == 0 + discard newO() + doAssert dCalls == 1 + discard newO() + doAssert dCalls == 2 + +main() -- cgit 1.4.1-2-gfad0