* fix #16110 * refs #16110 * fix comment * Trigger build * use shallowCopy for efficiency
This commit is contained in:
parent
8c12d3e29d
commit
2f1a9eadd7
2 changed files with 32 additions and 8 deletions
|
|
@ -71,15 +71,30 @@ assert: check_gen_proc(len(a)) == (false, true)
|
|||
|
||||
macro check(x: type): untyped =
|
||||
let z = getType(x)
|
||||
let y = getImpl(z[1])
|
||||
echo z.treeRepr
|
||||
let y = getImpl(z[1])
|
||||
let sym = if y[0].kind == nnkSym: y[0] else: y[0][0]
|
||||
expectKind(z[1], nnkSym)
|
||||
expectKind(y[0], nnkSym)
|
||||
doAssert(y[0] == z[1])
|
||||
expectKind(sym, nnkSym)
|
||||
expectKind(y[2], nnkObjectTy)
|
||||
doAssert(sym == z[1])
|
||||
|
||||
type
|
||||
TirePtr = ptr object
|
||||
code: int
|
||||
|
||||
var z: TirePtr
|
||||
check(typeof(z[]))
|
||||
TireRef* = ref object
|
||||
code: int
|
||||
|
||||
TireRef2* {.inheritable.} = ref object
|
||||
code: int
|
||||
|
||||
TireRef3* {.inheritable.} = object
|
||||
code: int
|
||||
|
||||
var z1: TirePtr
|
||||
check(typeof(z1[]))
|
||||
var z2: TireRef
|
||||
check(typeof(z2[]))
|
||||
var z3: TireRef2
|
||||
check(typeof(z3[]))
|
||||
check(TireRef3)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue