mirror of
https://github.com/nim-lang/Nim.git
synced 2026-02-15 23:54:19 +00:00
feedback injected
This commit is contained in:
committed by
Andreas Rumpf
parent
ff950725fa
commit
b306e0bfe2
@@ -146,8 +146,6 @@ proc mapType(conf: ConfigRef; typ: PType): TCTypeKind =
|
||||
return mapType(conf, typ.lastSon)
|
||||
of tyGenericBody, tyGenericInst, tyGenericParam, tyDistinct, tyOrdinal,
|
||||
tyTypeDesc, tyAlias, tySink, tyInferred:
|
||||
if typ.sons.len == 0:
|
||||
internalError(conf, "typ has no last son")
|
||||
result = mapType(conf, lastSon(typ))
|
||||
of tyEnum:
|
||||
if firstOrd(conf, typ) < 0:
|
||||
|
||||
@@ -571,7 +571,8 @@ proc explicitGenericInstantiation(c: PContext, n: PNode, s: PSym): PNode =
|
||||
let e = semExpr(c, n.sons[i])
|
||||
if e.typ == nil:
|
||||
localError(c.config, e.info, "expression has no type")
|
||||
n.sons[i].typ = e.typ.skipTypes({tyTypeDesc})
|
||||
else:
|
||||
n.sons[i].typ = e.typ.skipTypes({tyTypeDesc})
|
||||
var s = s
|
||||
var a = n.sons[0]
|
||||
if a.kind == nkSym:
|
||||
|
||||
@@ -1540,7 +1540,7 @@ proc semAsgn(c: PContext, n: PNode; mode=asgnNormal): PNode =
|
||||
var le = a.typ
|
||||
if le == nil:
|
||||
localError(c.config, a.info, "expression has no type")
|
||||
if (skipTypes(le, {tyGenericInst, tyAlias, tySink}).kind != tyVar and
|
||||
elif (skipTypes(le, {tyGenericInst, tyAlias, tySink}).kind != tyVar and
|
||||
isAssignable(c, a) == arNone) or
|
||||
skipTypes(le, abstractVar).kind in {tyOpenArray, tyVarargs}:
|
||||
# Direct assignment to a discriminant is allowed!
|
||||
|
||||
Reference in New Issue
Block a user