@@ -179,7 +179,9 @@ public struct Range<Bound: Comparable> {
179
179
public init ( uncheckedBounds bounds: ( lower: Bound , upper: Bound ) ) {
180
180
_debugPrecondition ( bounds. lower <= bounds. upper,
181
181
" Range requires lowerBound <= upperBound " )
182
- self . init ( _uncheckedBounds: ( lower: bounds. lower, upper: bounds. upper) )
182
+ unsafe self. init (
183
+ _uncheckedBounds: ( lower: bounds. lower, upper: bounds. upper)
184
+ )
183
185
}
184
186
185
187
/// Returns a Boolean value indicating whether the given element is contained
@@ -322,7 +324,9 @@ extension Range where Bound: Strideable, Bound.Stride: SignedInteger {
322
324
@inlinable // trivial-implementation
323
325
public init ( _ other: ClosedRange < Bound > ) {
324
326
let upperBound = other. upperBound. advanced ( by: 1 )
325
- self . init ( _uncheckedBounds: ( lower: other. lowerBound, upper: upperBound) )
327
+ unsafe self. init (
328
+ _uncheckedBounds: ( lower: other. lowerBound, upper: upperBound)
329
+ )
326
330
}
327
331
}
328
332
@@ -373,7 +377,7 @@ extension Range {
373
377
limits. upperBound < self . upperBound ? limits. upperBound
374
378
: limits. lowerBound > self . upperBound ? limits. lowerBound
375
379
: self . upperBound
376
- return Range ( _uncheckedBounds: ( lower: lower, upper: upper) )
380
+ return unsafe Range( _uncheckedBounds: ( lower: lower, upper: upper) )
377
381
}
378
382
}
379
383
@@ -454,7 +458,7 @@ extension Range: Decodable where Bound: Decodable {
454
458
codingPath: decoder. codingPath,
455
459
debugDescription: " Cannot initialize \( Range . self) with a lowerBound ( \( lowerBound) ) greater than upperBound ( \( upperBound) ) " ) )
456
460
}
457
- self . init ( _uncheckedBounds: ( lower: lowerBound, upper: upperBound) )
461
+ unsafe self. init ( _uncheckedBounds: ( lower: lowerBound, upper: upperBound) )
458
462
}
459
463
}
460
464
@@ -755,7 +759,7 @@ extension Comparable {
755
759
public static func ..< ( minimum: Self , maximum: Self ) -> Range < Self > {
756
760
_precondition ( minimum <= maximum,
757
761
" Range requires lowerBound <= upperBound " )
758
- return Range( _uncheckedBounds: ( lower: minimum, upper: maximum) )
762
+ return unsafe Range( _uncheckedBounds: ( lower: minimum, upper: maximum) )
759
763
}
760
764
761
765
/// Returns a partial range up to, but not including, its upper bound.
@@ -1124,7 +1128,7 @@ extension Range where Bound == String.Index {
1124
1128
_internalInvariant (
1125
1129
( lowerBound. _canBeUTF8 && upperBound. _canBeUTF8)
1126
1130
|| ( lowerBound. _canBeUTF16 && upperBound. _canBeUTF16) )
1127
- return Range < Int > (
1131
+ return unsafe Range< Int > (
1128
1132
_uncheckedBounds: ( lowerBound. _encodedOffset, upperBound. _encodedOffset) )
1129
1133
}
1130
1134
}
0 commit comments