This commit is contained in:
Andreas Rumpf
2019-07-16 15:43:25 +02:00
parent 102b71f42e
commit 15d2a92be0
2 changed files with 17 additions and 0 deletions

View File

@@ -1414,6 +1414,9 @@ proc semDeref(c: PContext, n: PNode): PNode =
var t = skipTypes(n.sons[0].typ, {tyGenericInst, tyVar, tyLent, tyAlias, tySink, tyOwned})
case t.kind
of tyRef, tyPtr: n.typ = t.lastSon
of tyTypeDesc:
# typeof(x[]) is still a typedesc:
n.typ = makeTypeDesc(c, t.lastSon.lastSon)
else: result = nil
#GlobalError(n.sons[0].info, errCircumNeedsPointer)

View File

@@ -5,6 +5,7 @@ proc Child
method Base
yield Base
yield Child
12
'''
"""
@@ -27,3 +28,16 @@ when false:
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(MyRefType[])