mirror of
https://github.com/nim-lang/Nim.git
synced 2026-01-07 13:33:22 +00:00
32 lines
443 B
Nim
32 lines
443 B
Nim
discard """
|
|
matrix: "--gc:refc; --gc:arc"
|
|
output: '''
|
|
hello 42
|
|
hello 42
|
|
len = 2
|
|
'''
|
|
"""
|
|
|
|
# bug #23748
|
|
|
|
type
|
|
O = ref object
|
|
s: string
|
|
cb: seq[proc()]
|
|
|
|
proc push1(o: O, i: int) =
|
|
let o = o
|
|
echo o.s, " ", i
|
|
o.cb.add(proc() = echo o.s, " ", i)
|
|
|
|
proc push2(o: O, i: int) =
|
|
let o = o
|
|
echo o.s, " ", i
|
|
proc p() = echo o.s, " ", i
|
|
o.cb.add(p)
|
|
|
|
let o = O(s: "hello", cb: @[])
|
|
o.push1(42)
|
|
o.push2(42)
|
|
echo "len = ", o.cb.len
|