mirror of
https://github.com/nim-lang/Nim.git
synced 2026-05-05 13:34:46 +00:00
27 lines
478 B
Nim
27 lines
478 B
Nim
discard """
|
|
retries: 2
|
|
"""
|
|
|
|
# Program to detect bug #1796 reliably
|
|
|
|
type
|
|
Node = ref object
|
|
a, b: Node
|
|
leaf: string
|
|
|
|
proc createCycle(leaf: string): Node =
|
|
new result
|
|
result.a = result
|
|
when defined(gcArc) or defined(gcOrc) or defined(gcYrc):
|
|
result.leaf = leaf
|
|
else:
|
|
shallowCopy result.leaf, leaf
|
|
|
|
proc main =
|
|
for i in 0 .. 100_000:
|
|
var leaf = "this is the leaf. it allocates"
|
|
let x = createCycle(leaf)
|
|
let y = createCycle(leaf)
|
|
|
|
main()
|