2024-02-27 22:07:14 -07:00

26 lines
430 B
Nim

when false:
type AnObject* = object of RootObj
value*: int
proc mutate(a: sink AnObject) =
a.value = 1
var obj = AnObject(value: 42)
mutate(obj)
doAssert obj.value == 42
else:
type AnObject = object of RootObj
value*: int
proc `=destroy`(x: var AnObject) =
echo "DEST"
proc mutate(a: sink AnObject) =
a.value = 1
var obj = AnObject(value: 42)
mutate(obj)
doAssert obj.value == 42