// RUN: %empty-directory(%t) // RUN: %target-build-swift %s -o %t/a.out4 -swift-version 4 && %target-codesign %t/a.out4 && %target-run %t/a.out4 // RUN: %target-build-swift %s -o %t/a.out5 -swift-version 5 && %target-codesign %t/a.out5 && %target-run %t/a.out5 // REQUIRES: executable_test import StdlibUnittest #if swift(>=4.2) let swiftVersion = ">=4.2" #else let swiftVersion = "<4.2" #endif let tests = TestSuite("ReverseCompatibility") tests.test("Double reverse type/Collection/\(swiftVersion)") { func reverse(_ xs: C) { var result = xs.reversed().reversed() #if swift(>=4.2) expectType(C.self, &result) #else expectType(ReversedCollection>.self, &result) #endif } reverse(Array(0..<10)) func backwardCompatible(_ xs: C) { typealias ExpectedType = ReversedCollection> var result: ExpectedType = xs.reversed().reversed() expectType(ExpectedType.self, &result) } backwardCompatible(Array(0..<10)) } runAllTests()