parent
69cabaa81c
commit
a7cae2bda2
2 changed files with 21 additions and 2 deletions
|
|
@ -595,8 +595,7 @@ proc procParamTypeRel(c: var TCandidate, f, a: PType): TTypeRelation =
|
||||||
# if f is metatype.
|
# if f is metatype.
|
||||||
result = typeRel(c, f, a)
|
result = typeRel(c, f, a)
|
||||||
|
|
||||||
# v--- is this correct?
|
if result <= isSubrange or inconsistentVarTypes(f, a):
|
||||||
if result <= isIntConv or inconsistentVarTypes(f, a):
|
|
||||||
result = isNone
|
result = isNone
|
||||||
|
|
||||||
#if result == isEqual:
|
#if result == isEqual:
|
||||||
|
|
|
||||||
20
tests/overload/tproc_types_dont_like_subtypes.nim
Normal file
20
tests/overload/tproc_types_dont_like_subtypes.nim
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
discard """
|
||||||
|
errormsg: "got <B, proc (b: B){.closure, gcsafe, locks: 0.}>"
|
||||||
|
line: 20
|
||||||
|
"""
|
||||||
|
|
||||||
|
type
|
||||||
|
A = ref object of RootObj
|
||||||
|
B = ref object of A
|
||||||
|
|
||||||
|
P = proc (a: A)
|
||||||
|
|
||||||
|
# bug #16325
|
||||||
|
|
||||||
|
proc doThings(a: A, p: P) =
|
||||||
|
p(a)
|
||||||
|
|
||||||
|
var x = proc (b: B) {.closure.} =
|
||||||
|
echo "B"
|
||||||
|
|
||||||
|
doThings(B(), x)
|
||||||
Loading…
Add table
Add a link
Reference in a new issue