diff options
author | LemonBoy <LemonBoy@users.noreply.github.com> | 2019-02-23 14:03:32 +0100 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2019-02-23 14:03:32 +0100 |
commit | f39aa1b40bd617e5ac13f67b38548e91d49bf107 (patch) | |
tree | bdabf3b37c0ced4514f1fe78d56c0ed9a2f81efa /tests/destructor | |
parent | 988412905837271ad8d8502e5337381f8e9624ce (diff) | |
download | Nim-f39aa1b40bd617e5ac13f67b38548e91d49bf107.tar.gz |
discard destroys its argument in-place (#9478)
Diffstat (limited to 'tests/destructor')
-rw-r--r-- | tests/destructor/tdiscard.nim | 18 |
1 files changed, 18 insertions, 0 deletions
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() |