@@ -12,22 +12,17 @@ func checkMatch<S: Collection, T: Collection>(_ x: S, _ y: T, _ i: S.Index)
1212 expectEqual ( x [ i] , y [ i] )
1313}
1414
15- func checkMatchContiguousStorage< S: Collection , T: Collection > ( _ x: S , _ y: T , expected : Bool )
15+ func checkMatchContiguousStorage< S: Collection , T: Collection > ( _ x: S , _ y: T )
1616 where S. Element == T . Element , S. Element: Equatable
1717{
1818 let xElement = x. withContiguousStorageIfAvailable { $0. first }
1919 let yElement = y. withContiguousStorageIfAvailable { $0. first }
2020
21- if expected {
22- expectEqual ( xElement, yElement)
23- } else {
24- expectNotEqual ( xElement, yElement)
25- }
21+ expectEqual ( xElement, yElement)
2622}
2723
28- func checkHasContiguousStorage< S: Collection > ( _ x: S , expected: Bool ) {
29- let hasStorage = x. withContiguousStorageIfAvailable { _ in true } ?? false
30- expectEqual ( hasStorage, expected)
24+ func checkHasContiguousStorage< S: Collection > ( _ x: S ) {
25+ expectTrue ( x. withContiguousStorageIfAvailable { _ in true } ?? false )
3126}
3227
3328func checkHasContiguousStorageSubstring( _ x: Substring . UTF8View ) {
@@ -252,23 +247,21 @@ SubstringTests.test("UTF8View") {
252247 expectEqual ( " " , String ( u. dropFirst ( 100 ) ) !)
253248 expectEqual ( " " , String ( u. dropLast ( 100 ) ) !)
254249
255- let expectSubstringWCSIA : Bool
256- // This availability guard should refer to a concrete OS version in
257- // future.
258- if #available( macOS 9999 , iOS 9999 , watchOS 9999 , tvOS 9999 , * ) {
259- expectSubstringWCSIA = true
260- } else {
261- expectSubstringWCSIA = false
262- }
263250
264- checkHasContiguousStorage ( s. utf8, expected: true ) // Strings always do
265- checkHasContiguousStorage ( t, expected: expectSubstringWCSIA)
266- checkHasContiguousStorage ( u, expected: expectSubstringWCSIA)
251+ checkHasContiguousStorage ( s. utf8) // Strings always do
267252 checkHasContiguousStorageSubstring ( t)
268253 checkHasContiguousStorageSubstring ( u)
269- checkMatchContiguousStorage ( Array ( s. utf8) , s. utf8, expected: true )
270- checkMatchContiguousStorage ( Array ( t) , t, expected: expectSubstringWCSIA)
271- checkMatchContiguousStorage ( Array ( u) , u, expected: expectSubstringWCSIA)
254+ checkMatchContiguousStorage ( Array ( s. utf8) , s. utf8)
255+
256+ // The specialization for Substring.withContiguousStorageIfAvailable was
257+ // added in https://github.com/apple/swift/pull/29146.
258+ guard #available( macOS 9999 , iOS 9999 , watchOS 9999 , tvOS 9999 , * ) else {
259+ return
260+ }
261+ checkHasContiguousStorage ( t)
262+ checkHasContiguousStorage ( u)
263+ checkMatchContiguousStorage ( Array ( t) , t)
264+ checkMatchContiguousStorage ( Array ( u) , u)
272265 }
273266}
274267
0 commit comments