diff options
-rw-r--r-- | compiler/semtypes.nim | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/semtypes.nim b/compiler/semtypes.nim index 408b1b62e..789ff55f0 100644 --- a/compiler/semtypes.nim +++ b/compiler/semtypes.nim @@ -885,8 +885,12 @@ proc semGeneric(c: PContext, n: PNode, s: PSym, prev: PType): PType = for i in countup(1, sonsLen(n)-1): var elem = semGenericParamInInvokation(c, n.sons[i]) 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: - internalAssert s.typ.kind == tyGenericBody var m = newCandidate(c, s, n) matches(c, n, copyTree(n), m) |