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()
|