Skip to content

Commit e201c73

Browse files
authored
Merge pull request #34631 from kateinoigakukun/use-_resolveRelativeAddress
[stdlib][NFC] Resolve relative address in consistent way
2 parents 3e3be76 + dcdf668 commit e201c73

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

stdlib/public/core/KeyPath.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3351,7 +3351,7 @@ internal struct InstantiateKeyPathBuffer: KeyPathPatternVisitor {
33513351

33523352
case .pointer:
33533353
// Resolve the sign-extended relative reference.
3354-
var absoluteID: UnsafeRawPointer? = idValueBase + Int(idValue)
3354+
var absoluteID: UnsafeRawPointer? = _resolveRelativeAddress(idValueBase, idValue)
33553355

33563356
// If the pointer ID is unresolved, then it needs work to get to
33573357
// the final value.
@@ -3456,7 +3456,7 @@ internal struct InstantiateKeyPathBuffer: KeyPathPatternVisitor {
34563456
for i in externalArgs.indices {
34573457
let base = externalArgs.baseAddress.unsafelyUnwrapped + i
34583458
let offset = base.pointee
3459-
let metadataRef = UnsafeRawPointer(base) + Int(offset)
3459+
let metadataRef = _resolveRelativeAddress(UnsafeRawPointer(base), offset)
34603460
let result = _resolveKeyPathGenericArgReference(
34613461
metadataRef,
34623462
genericEnvironment: genericEnvironment,

0 commit comments

Comments
 (0)