mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-28 17:04:41 +00:00
implements #78
This commit is contained in:
@@ -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
Submodule csources deleted from b0bcf88e26
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)
|
||||
Reference in New Issue
Block a user