added test case for #9594
This commit is contained in:
parent
ae27f8ac58
commit
2eff0ca2b8
1 changed files with 31 additions and 0 deletions
31
tests/destructor/tuse_result_prevents_sinks.nim
Normal file
31
tests/destructor/tuse_result_prevents_sinks.nim
Normal file
|
|
@ -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()
|
||||||
Loading…
Add table
Add a link
Reference in a new issue