summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--compiler/semcall.nim2
-rw-r--r--tests/errmsgs/t5167_5.nim10
2 files changed, 6 insertions, 6 deletions
diff --git a/compiler/semcall.nim b/compiler/semcall.nim
index f86784214..24547bccd 100644
--- a/compiler/semcall.nim
+++ b/compiler/semcall.nim
@@ -594,7 +594,7 @@ proc explicitGenericInstantiation(c: PContext, n: PNode, s: PSym): PNode =
   for i in 1..sonsLen(n)-1:
     let e = semExpr(c, n.sons[i])
     if e.typ == nil:
-      localError(c.config, e.info, "expression has no type")
+      n.sons[i].typ = errorType(c)
     else:
       n.sons[i].typ = e.typ.skipTypes({tyTypeDesc})
   var s = s
diff --git a/tests/errmsgs/t5167_5.nim b/tests/errmsgs/t5167_5.nim
index ccd9cc0a5..a9e260845 100644
--- a/tests/errmsgs/t5167_5.nim
+++ b/tests/errmsgs/t5167_5.nim
@@ -2,13 +2,14 @@ discard """
 cmd: "nim check $file"
 errormsg: "'t' has unspecified generic parameters"
 nimout: '''
-t5167_5.nim(20, 9) Error: 't' has unspecified generic parameters
+t5167_5.nim(10, 16) Error: expression 'system' has no type (or is ambiguous)
+t5167_5.nim(21, 9) Error: 't' has unspecified generic parameters
 '''
 """
+# issue #11942
+discard newSeq[system]()
 
-
-
-
+# issue #5167
 template t[B]() =
   echo "foo1"
 
@@ -22,4 +23,3 @@ bar t
 
 let y = m
 bar m
-