@@ -179,7 +179,9 @@ public struct Range<Bound: Comparable> {
179179 public init ( uncheckedBounds bounds: ( lower: Bound , upper: Bound ) ) {
180180 _debugPrecondition ( bounds. lower <= bounds. upper,
181181 " 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+ )
183185 }
184186
185187 /// Returns a Boolean value indicating whether the given element is contained
@@ -322,7 +324,9 @@ extension Range where Bound: Strideable, Bound.Stride: SignedInteger {
322324 @inlinable // trivial-implementation
323325 public init ( _ other: ClosedRange < Bound > ) {
324326 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+ )
326330 }
327331}
328332
@@ -373,7 +377,7 @@ extension Range {
373377 limits. upperBound < self . upperBound ? limits. upperBound
374378 : limits. lowerBound > self . upperBound ? limits. lowerBound
375379 : self . upperBound
376- return Range ( _uncheckedBounds: ( lower: lower, upper: upper) )
380+ return unsafe Range( _uncheckedBounds: ( lower: lower, upper: upper) )
377381 }
378382}
379383
@@ -454,7 +458,7 @@ extension Range: Decodable where Bound: Decodable {
454458 codingPath: decoder. codingPath,
455459 debugDescription: " Cannot initialize \( Range . self) with a lowerBound ( \( lowerBound) ) greater than upperBound ( \( upperBound) ) " ) )
456460 }
457- self . init ( _uncheckedBounds: ( lower: lowerBound, upper: upperBound) )
461+ unsafe self. init ( _uncheckedBounds: ( lower: lowerBound, upper: upperBound) )
458462 }
459463}
460464
@@ -755,7 +759,7 @@ extension Comparable {
755759 public static func ..< ( minimum: Self , maximum: Self ) -> Range < Self > {
756760 _precondition ( minimum <= maximum,
757761 " Range requires lowerBound <= upperBound " )
758- return Range( _uncheckedBounds: ( lower: minimum, upper: maximum) )
762+ return unsafe Range( _uncheckedBounds: ( lower: minimum, upper: maximum) )
759763 }
760764
761765 /// Returns a partial range up to, but not including, its upper bound.
@@ -1124,7 +1128,7 @@ extension Range where Bound == String.Index {
11241128 _internalInvariant (
11251129 ( lowerBound. _canBeUTF8 && upperBound. _canBeUTF8)
11261130 || ( lowerBound. _canBeUTF16 && upperBound. _canBeUTF16) )
1127- return Range < Int > (
1131+ return unsafe Range< Int > (
11281132 _uncheckedBounds: ( lowerBound. _encodedOffset, upperBound. _encodedOffset) )
11291133 }
11301134}
0 commit comments