summary refs log tree commit diff stats
path: root/tests/objects/trefobjsyntax3.nim
blob: 2d466eedae6b4f73a19bc6d2eebff9f6d1bf6000 (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
# bug #2540

type
  BaseSceneNode[T] = ref object of RootObj
    children*: seq[BaseSceneNode[T]]
    parent*: BaseSceneNode[T]

  SceneNode[T] = ref object of BaseSceneNode[T]

  SomeObj = ref object

proc newSceneNode[T](): SceneNode[T] =
  new result
  result.children = @[]

var aNode = newSceneNode[SomeObj]()


# bug #3038

type
  Data[T] = ref object of RootObj
    data: T
  Type = ref object of RootObj
  SubType[T] = ref object of Type
    data: Data[T]
  SubSubType = ref object of SubType
  SubSubSubType = ref object of SubSubType