File tree Expand file tree Collapse file tree 1 file changed +4
-3
lines changed
Expand file tree Collapse file tree 1 file changed +4
-3
lines changed Original file line number Diff line number Diff line change @@ -2507,7 +2507,7 @@ internal enum KeyPathPatternStoredOffset {
25072507 case inline( UInt32 )
25082508 case outOfLine( UInt32 )
25092509 case unresolvedFieldOffset( UInt32 )
2510- case unresolvedIndirectOffset( UnsafePointer < UInt32 > )
2510+ case unresolvedIndirectOffset( UnsafePointer < UInt > )
25112511}
25122512internal struct KeyPathPatternComputedArguments {
25132513 var getLayout : KeyPathComputedArgumentLayoutFn
@@ -2602,7 +2602,7 @@ internal func _walkKeyPathPattern<W: KeyPathPatternVisitor>(
26022602 as: Int32 . self)
26032603 let ptr = _resolveRelativeIndirectableAddress ( base, relativeOffset)
26042604 offset = . unresolvedIndirectOffset(
2605- ptr. assumingMemoryBound ( to: UInt32 . self) )
2605+ ptr. assumingMemoryBound ( to: UInt . self) )
26062606 default :
26072607 offset = . inline( header. storedOffsetPayload)
26082608 }
@@ -3151,7 +3151,8 @@ internal struct InstantiateKeyPathBuffer : KeyPathPatternVisitor {
31513151 case . unresolvedIndirectOffset( let pointerToOffset) :
31523152 // Look up offset in the indirectly-referenced variable we have a
31533153 // pointer.
3154- let offset = UInt32 ( pointerToOffset. pointee)
3154+ assert ( pointerToOffset. pointee <= UInt32 . max)
3155+ let offset = UInt32 ( truncatingIfNeeded: pointerToOffset. pointee)
31553156 let header = RawKeyPathComponent . Header ( storedWithOutOfLineOffset: kind,
31563157 mutable: mutable)
31573158 pushDest ( header)
You can’t perform that action at this time.
0 commit comments