implements #78
This commit is contained in:
parent
7a48942719
commit
0e439ce367
6 changed files with 20 additions and 5 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
1
csources
1
csources
|
|
@ -1 +0,0 @@
|
|||
Subproject commit b0bcf88e26730b23d22e2663adf1babb05bd5a71
|
||||
2
tests/clearmsg/mb.nim
Normal file
2
tests/clearmsg/mb.nim
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
type
|
||||
typ* = distinct string
|
||||
3
tests/clearmsg/mc.nim
Normal file
3
tests/clearmsg/mc.nim
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
|
||||
type
|
||||
typ* = distinct int
|
||||
12
tests/clearmsg/ta.nim
Normal file
12
tests/clearmsg/ta.nim
Normal file
|
|
@ -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)
|
||||
Loading…
Add table
Add a link
Reference in a new issue