parent
d55cc0888d
commit
de1ede77fe
2 changed files with 9 additions and 1 deletions
|
|
@ -1293,7 +1293,7 @@ proc typeRel(c: var TCandidate, f, aOrig: PType,
|
||||||
inc(c.inheritancePenalty, depth)
|
inc(c.inheritancePenalty, depth)
|
||||||
result = isSubtype
|
result = isSubtype
|
||||||
of tyDistinct:
|
of tyDistinct:
|
||||||
skipOwned(a)
|
a = a.skipTypes({tyOwned, tyGenericInst, tyRange})
|
||||||
if a.kind == tyDistinct:
|
if a.kind == tyDistinct:
|
||||||
if sameDistinctTypes(f, a): result = isEqual
|
if sameDistinctTypes(f, a): result = isEqual
|
||||||
#elif f.base.kind == tyAnything: result = isGeneric # issue 4435
|
#elif f.base.kind == tyAnything: result = isGeneric # issue 4435
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ false
|
||||||
false
|
false
|
||||||
false
|
false
|
||||||
false
|
false
|
||||||
|
Foo
|
||||||
'''
|
'''
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
@ -98,3 +99,10 @@ proc `<=`(a, b: Id): bool {.borrow.}
|
||||||
var xs: array[Id, bool]
|
var xs: array[Id, bool]
|
||||||
|
|
||||||
for x in xs: echo x # type mismatch: got (T) but expected 'bool'
|
for x in xs: echo x # type mismatch: got (T) but expected 'bool'
|
||||||
|
|
||||||
|
# bug #11715
|
||||||
|
|
||||||
|
type FooD = distinct int
|
||||||
|
proc `<=`(a, b: FooD): bool {.borrow.}
|
||||||
|
|
||||||
|
for f in [FooD(0): "Foo"]: echo f
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue