mirror of
https://github.com/nim-lang/Nim.git
synced 2026-05-30 08:45:16 +00:00
refactor: simplify type comparison logic by removing unnecessary type skips
This commit is contained in:
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user