123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- discard """
- matrix: "--mm:arc; --mm:refc"
- output: '''
- proc Base
- proc Child
- method Base
- method Child
- yield Base
- yield Child
- 12
- 1
- '''
- """
- import typetraits
- type
- Base = object of RootObj
- Child = object of Base
- proc pr(T: type[Base]) = echo "proc " & T.name
- method me(T: type[Base]) = echo "method " & T.name
- iterator it(T: type[Base]): auto = yield "yield " & T.name
- Base.pr
- Child.pr
- Base.me
- Child.me #<- bug #2710
- for s in Base.it: echo s
- for s in Child.it: echo s #<- bug #2662
- # bug #11747
- type
- MyType = object
- a: int32
- b: int32
- c: int32
- MyRefType = ref MyType
- echo sizeof(default(MyRefType)[])
- type
- Foo[T] = object
- val: T
- var x: Foo[int].val
- inc(x)
- echo x
|