Files
Nim/tests/arc/t19401.nim
ringabout 80e739f2bf fixes #19401; fixes #19402; rework Forward declaration and finalizer for ORC (#20295)
* fixes #19401; fixes #19402; rework Forward declaration and finalizer for ORC

* add more tests

* give it a name

* make more tests

* fixes tests

* hidden addr for cpp

* move code to a function
2022-09-27 20:07:26 +02:00

33 lines
489 B
Nim

discard """
output: '''
delete foo
delete foo
delete foo
'''
matrix: "--mm:arc"
"""
type Foo = ref object
data: int
proc delete(self: Foo)
proc newFoo: Foo =
let x = 12
discard x
new(result, delete)
result.data = x
proc delete(self: Foo) =
doAssert self.data == 12
echo("delete foo")
if isMainModule:
proc test() =
let x1 = newFoo()
let x2 = newFoo()
discard x1
discard x2
var x3: Foo
new(x3, delete)
x3.data = 12
discard x3
test()