(cherry picked from commit 1d14b2c9e6)
This commit is contained in:
cooldome
2020-11-24 14:49:14 +00:00
committed by narimiran
parent 03f07f8b5e
commit e2f1fab458
2 changed files with 20 additions and 1 deletions

View File

@@ -1277,7 +1277,8 @@ proc typeSectionRightSidePass(c: PContext, n: PNode) =
incl st.flags, tfRefsAnonObj
let obj = newSym(skType, getIdent(c.cache, s.name.s & ":ObjectType"),
getCurrOwner(c), s.info)
obj.ast = a
obj.ast = a.copyTree
obj.ast[0] = newSymNode(obj)
if sfPure in s.flags:
obj.flags.incl sfPure
obj.typ = st.lastSon

View File

@@ -65,3 +65,21 @@ macro check_gen_proc(ex: typed): (bool, bool) =
let a = @[1,2,3]
assert: check_gen_proc(len(a)) == (false, true)
#---------------------------------------------------------------
# issue #16110
macro check(x: type): untyped =
let z = getType(x)
let y = getImpl(z[1])
echo z.treeRepr
expectKind(z[1], nnkSym)
expectKind(y[0], nnkSym)
doAssert(y[0] == z[1])
type
TirePtr = ptr object
code: int
var z: TirePtr
check(typeof(z[]))