summary refs log tree commit diff stats
path: root/tests/stdlib/mimportutils.nim
blob: 678d9ec02cb291df1705454323d8b16d40d83fe4 (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
34
35
36
37
38
type
  A* = object
    a0*: int
    ha1: float
  B = object
    b0*: int
    hb1: float
  C* = ref object
    c0: int
    hc1: float
  D* = ptr object
    d0: int
    hd1: float
  PA* = ref A
  PtA* = ptr A
  E*[T] = object
    he1: int
  FSub[T1, T2] = object
    h3: T1
    h4: T2
  F*[T1, T2] = ref FSub[T1, T2]
  G*[T] = ref E[T]
  H3*[T] = object
    h5: T
  H2*[T] = H3[T]
  H1*[T] = ref H2[T]
  H*[T] = H1[T]

  Pity[T] = object
    a: T
  PityRef*[T] = ref Pity[T]
  Hope*[T] = ref object
    a: T

type BAalias* = typeof(B.default)
  # typeof is not a transparent abstraction, creates a `tyAlias`

proc initB*(): B = B()