fix typeRel of typeDesc (#21227)

This commit is contained in:
Bung 2023-01-08 22:34:51 -08:00 • committed by GitHub
commit b68b28fd24
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 2 deletions

View file

@ -1840,7 +1840,9 @@ proc typeRel(c: var TCandidate, f, aOrig: PType,
elif f.base.kind == tyNone: elif f.base.kind == tyNone:
result = isGeneric result = isGeneric
else: else:
result = typeRel(c, f.base, a.base, flags) let r = typeRel(c, f.base, a.base, flags)
if r >= isIntConv:
result = r
if result != isNone: if result != isNone:
put(c, f, a) put(c, f, a)
@ -1848,7 +1850,9 @@ proc typeRel(c: var TCandidate, f, aOrig: PType,
if tfUnresolved in f.flags: if tfUnresolved in f.flags:
result = typeRel(c, prev.base, a, flags) result = typeRel(c, prev.base, a, flags)
elif a.kind == tyTypeDesc: elif a.kind == tyTypeDesc:
result = typeRel(c, prev.base, a.base, flags) let r = typeRel(c, prev.base, a.base, flags)
if r >= isIntConv:
result = r
else: else:
result = isNone result = isNone

4
tests/typerel/tint.nim Normal file
View file

@ -0,0 +1,4 @@
template a(T: type int32) = discard
template a(T: type int64) = discard
a(int)