parent
fce4b7cd62
commit
2f9a698e87
2 changed files with 13 additions and 1 deletions
|
|
@ -1268,7 +1268,7 @@ proc typeRel(c: var TCandidate, f, aOrig: PType, doBind = true): TTypeRelation =
|
||||||
# crossing path with metatypes/aliases, so we need to separate them
|
# crossing path with metatypes/aliases, so we need to separate them
|
||||||
# by checking sym.id
|
# by checking sym.id
|
||||||
let genericSubtype = isGenericSubType(c, x, f, depth, f)
|
let genericSubtype = isGenericSubType(c, x, f, depth, f)
|
||||||
if not (genericSubtype and aobj.sym.id != fobj.sym.id):
|
if not (genericSubtype and aobj.sym.id != fobj.sym.id) and aOrig.kind != tyGenericBody:
|
||||||
depth = -1
|
depth = -1
|
||||||
|
|
||||||
if depth >= 0:
|
if depth >= 0:
|
||||||
|
|
|
||||||
12
tests/generics/tobjecttyperel3.nim
Normal file
12
tests/generics/tobjecttyperel3.nim
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
discard """
|
||||||
|
output: '''OK'''
|
||||||
|
"""
|
||||||
|
#bug #5632
|
||||||
|
type
|
||||||
|
Option*[T] = object
|
||||||
|
|
||||||
|
proc point*[A](v: A, t: typedesc[Option[A]]): Option[A] =
|
||||||
|
discard
|
||||||
|
|
||||||
|
discard point(1, Option)
|
||||||
|
echo "OK"
|
||||||
Loading…
Add table
Add a link
Reference in a new issue