summary refs log tree commit diff stats
path: root/compiler
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2014-02-06 00:27:10 +0100
committerAraq <rumpf_a@web.de>2014-02-06 00:27:10 +0100
commitcc0a32ae87469fe30c8c81461cc8c7170f92c8cf (patch)
tree79b985af991923e681cf900bc82b585e535d4551 /compiler
parent550b5d9aeac9afda613406e3fe4bc243ea7f78d4 (diff)
parent672681dd4b897cc268174e09f3305656b6c75960 (diff)
downloadNim-cc0a32ae87469fe30c8c81461cc8c7170f92c8cf.tar.gz
Merge branch 'devel' of https://github.com/Araq/Nimrod into devel
Diffstat (limited to 'compiler')
-rw-r--r--compiler/semtypes.nim6
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/semtypes.nim b/compiler/semtypes.nim
index 6f2d9ece9..44e414e9c 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)