summary refs log tree commit diff stats
path: root/tests/arc/torc_selfcycles.nim
blob: ac4fa52cea961954e4f01e3a33da56215cc30069 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
discard """
  output: '''ok'''
  cmd: '''nim c --gc:orc -d:useMalloc -d:nimStressOrc $file'''
  valgrind: "leaks"
"""

# bug #15753

type
  NodeKind = enum
    nkDancing,
    nkColumn

  DancingNode = ref object
    right: DancingNode
    column: DancingNode
    kind: NodeKind

proc newColumnNode(): DancingNode =
  result = DancingNode(kind: nkColumn)
  result.right = result
  result.column = result

proc createDLXList(): DancingNode =
  result = newColumnNode()

  for i in 0 .. 15:
    let n = newColumnNode()
    n.right = result.right
    result = n
  echo "ok"

var dlxlist = createDLXList()