Merge pull request #870 from barcharcraz/templaterr
Added better error messages for ill-formed generics
This commit is contained in:
commit
672681dd4b
1 changed files with 5 additions and 1 deletions
|
|
@ -885,8 +885,12 @@ proc semGeneric(c: PContext, n: PNode, s: PSym, prev: PType): PType =
|
||||||
for i in countup(1, sonsLen(n)-1):
|
for i in countup(1, sonsLen(n)-1):
|
||||||
var elem = semGenericParamInInvokation(c, n.sons[i])
|
var elem = semGenericParamInInvokation(c, n.sons[i])
|
||||||
addToResult(elem)
|
addToResult(elem)
|
||||||
|
elif s.typ.kind != tyGenericBody:
|
||||||
|
#we likely got code of the form TypeA[TypeB] where TypeA is
|
||||||
|
#not generic.
|
||||||
|
localError(n.info, errNoGenericParamsAllowedForX, s.name.s)
|
||||||
|
return newOrPrevType(tyError, prev, c)
|
||||||
else:
|
else:
|
||||||
internalAssert s.typ.kind == tyGenericBody
|
|
||||||
|
|
||||||
var m = newCandidate(c, s, n)
|
var m = newCandidate(c, s, n)
|
||||||
matches(c, n, copyTree(n), m)
|
matches(c, n, copyTree(n), m)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue