mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-30 01:44:37 +00:00
@@ -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
|
||||
|
||||
@@ -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[]))
|
||||
Reference in New Issue
Block a user