sigmatch: hotfix [backport] (#15565)

This commit is contained in:
Andreas Rumpf 2020-10-14 09:55:47 +02:00 • committed by GitHub
commit c664fb2843
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1107,7 +1107,7 @@ proc typeRel(c: var TCandidate, f, aOrig: PType,
let x = typeRel(c, f, branch, flags + {trDontBind}) let x = typeRel(c, f, branch, flags + {trDontBind})
if x == isNone: return isNone if x == isNone: return isNone
if x < result: result = x if x < result: result = x
return return result
of tyAnd: of tyAnd:
# XXX: deal with the current dual meaning of tyGenericParam # XXX: deal with the current dual meaning of tyGenericParam
@ -1441,7 +1441,7 @@ proc typeRel(c: var TCandidate, f, aOrig: PType,
let ff = rootf[i] let ff = rootf[i]
let aa = roota[i] let aa = roota[i]
let res = typeRel(c, ff, aa, nextFlags) let res = typeRel(c, ff, aa, nextFlags)
if res != isEqual: result = isGeneric if res != isNone and res != isEqual: result = isGeneric
if res notin {isEqual, isGeneric}: if res notin {isEqual, isGeneric}:
if trNoCovariance notin flags and ff.kind == aa.kind: if trNoCovariance notin flags and ff.kind == aa.kind:
let paramFlags = rootf.base[i-1].flags let paramFlags = rootf.base[i-1].flags