refactor: simplify type comparison logic by removing unnecessary type skips

This commit is contained in:
ringabout
2026-05-23 18:43:07 +08:00
parent 49d35670b1
commit c31121ec3b
2 changed files with 3 additions and 3 deletions

View File

@@ -974,9 +974,7 @@ proc cow(p: BProc; n: PNode) {.inline.} =
if n.kind == nkHiddenAddr: cowBracket(p, n[0])
template ignoreConv(e: PNode): bool =
let destType = e.typ.skipTypes({tyVar, tyLent, tyGenericInst, tyAlias, tySink})
let srcType = e[1].typ.skipTypes({tyVar, tyLent, tyGenericInst, tyAlias, tySink})
sameBackendTypePickyAliases(destType, srcType)
sameBackendTypePickyAliases(e.typ, e[1].typ)
proc genAddr(p: BProc, e: PNode, d: var TLoc) =
# careful 'addr(myptrToArray)' needs to get the ampersand:

View File

@@ -1070,6 +1070,8 @@ proc sameBackendTypeIgnoreRange*(x, y: PType): bool =
result = sameTypeAux(x, y, c)
proc sameBackendTypePickyAliases*(x, y: PType): bool =
let x = x.skipTypes(abstractVar)
let y = y.skipTypes(abstractVar)
var c = initSameTypeClosure()
c.flags.incl {IgnoreTupleFields, IgnoreRangeShallow, PickyCAliases, PickyBackendAliases}
c.cmp = dcEqIgnoreDistinct