restore return type inference
This commit is contained in:
parent
723efe7cfb
commit
fa3bb8d66b
2 changed files with 4 additions and 1 deletions
|
|
@ -905,6 +905,9 @@ template `{}=`*(n: PNode, i: int, s: PNode): stmt =
|
|||
var emptyNode* = newNode(nkEmpty)
|
||||
# There is a single empty node that is shared! Do not overwrite it!
|
||||
|
||||
proc isMetaType*(t: PType): bool =
|
||||
return t.kind in tyMetaTypes or tfHasMeta in t.flags
|
||||
|
||||
proc linkTo*(t: PType, s: PSym): PType {.discardable.} =
|
||||
t.sym = s
|
||||
s.typ = t
|
||||
|
|
|
|||
|
|
@ -1164,7 +1164,7 @@ proc semAsgn(c: PContext, n: PNode): PNode =
|
|||
if lhsIsResult: {efAllowDestructor} else: {})
|
||||
if lhsIsResult:
|
||||
n.typ = enforceVoidContext
|
||||
if lhs.sym.typ.kind == tyGenericParam:
|
||||
if lhs.sym.typ.isMetaType:
|
||||
if cmpTypes(c, lhs.typ, rhs.typ) == isGeneric:
|
||||
internalAssert c.p.resultSym != nil
|
||||
lhs.typ = rhs.typ
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue