diff options
-rw-r--r-- | compiler/semcall.nim | 3 | ||||
-rw-r--r-- | compiler/types.nim | 4 | ||||
m--------- | csources | 0 | ||||
-rw-r--r-- | tests/clearmsg/mb.nim | 2 | ||||
-rw-r--r-- | tests/clearmsg/mc.nim | 3 | ||||
-rw-r--r-- | tests/clearmsg/ta.nim | 12 |
6 files changed, 20 insertions, 4 deletions
diff --git a/compiler/semcall.nim b/compiler/semcall.nim index a4490b782..d3720b0ab 100644 --- a/compiler/semcall.nim +++ b/compiler/semcall.nim @@ -94,7 +94,7 @@ proc notFoundError*(c: PContext, n: PNode, errors: CandidateErrors) = var prefer = preferName for err in errors: - var errProto = "(" + var errProto = "" let n = err.typ.n for i in countup(1, n.len - 1): var p = n.sons[i] @@ -102,7 +102,6 @@ proc notFoundError*(c: PContext, n: PNode, errors: CandidateErrors) = add(errProto, typeToString(p.sym.typ, prefer)) if i != n.len-1: add(errProto, ", ") # else: ignore internal error as we're already in error handling mode - add(errProto, ')') if errProto == proto: prefer = preferModuleInfo break diff --git a/compiler/types.nim b/compiler/types.nim index e03762155..87f2e1a59 100644 --- a/compiler/types.nim +++ b/compiler/types.nim @@ -419,10 +419,10 @@ proc typeToString(typ: PType, prefer: TPreferedDesc = preferName): string = sfAnon notin t.sym.flags: if t.kind == tyInt and isIntLit(t): return t.sym.name.s & " literal(" & $t.n.intVal & ")" - if prefer == preferName: + if prefer == preferName or t.sym.owner.isNil: return t.sym.name.s else: - return t.sym.skipGenericOwner.name.s & '.' & t.sym.name.s + return t.sym.owner.name.s & '.' & t.sym.name.s case t.kind of tyInt: if not isIntLit(t) or prefer == preferExported: diff --git a/csources b/csources deleted file mode 160000 -Subproject b0bcf88e26730b23d22e2663adf1babb05bd5a7 diff --git a/tests/clearmsg/mb.nim b/tests/clearmsg/mb.nim new file mode 100644 index 000000000..2d21e2396 --- /dev/null +++ b/tests/clearmsg/mb.nim @@ -0,0 +1,2 @@ +type + typ* = distinct string diff --git a/tests/clearmsg/mc.nim b/tests/clearmsg/mc.nim new file mode 100644 index 000000000..79d7431df --- /dev/null +++ b/tests/clearmsg/mc.nim @@ -0,0 +1,3 @@ + +type + typ* = distinct int diff --git a/tests/clearmsg/ta.nim b/tests/clearmsg/ta.nim new file mode 100644 index 000000000..b21522d12 --- /dev/null +++ b/tests/clearmsg/ta.nim @@ -0,0 +1,12 @@ +discard """ + errormsg: 'type mismatch: got (mc.typ)' + line: 12 +""" + +import mb, mc + +proc test(testing: mb.typ) = + discard + +var s: mc.typ +test(s) |