Open
Description
Previous ID | SR-12931 |
Radar | None |
Original Reporter | nghiahoang (JIRA User) |
Type | Bug |
Environment
Swift 5
Xcode 11.3
Devices 32 bits
Additional Detail from JIRA
Votes | 0 |
Component/s | Foundation |
Labels | Bug, RunTimeCrash |
Assignee | None |
Priority | Medium |
md5: 2317f2c652a5b6739d4d47e28039ae97
Issue Description:
1. Steps to reproduce:
var data = Data.init(count: 837933) // count is larger than Int16.max
data.removeSubrange(0..<834385) // upperBound is larger than Int16.max
2. Seems that it's crashed in
internal struct InlineSlice {
...
@inlinable // This is @inlinable as a convenience initializer.
init(_ large: LargeSlice) {
assert(large.range.lowerBound < HalfInt.max)
assert(large.range.upperBound < HalfInt.max)
self.init(large.storage, range: large.range)
}
...
}
Because HalfInt on 32 bits devices is Int16, so assert large.range.upperBound < HalfInt.max is failed.