// RUN: %empty-directory(%t) // RUN: %target-build-swift -module-name=test %s -o %t/a.out // RUN: %target-run %t/a.out | %FileCheck %s // REQUIRES: executable_test // REQUIRES: CPU=arm64 || CPU=x86_64 // Check that the ASTMangler does not crash when mangling a retroactive conformance // and also do a executable test to make sure the code works as expected. extension Result: RandomAccessCollection, BidirectionalCollection, Collection, Sequence where Success: RandomAccessCollection, Success.Index == Int { public typealias Element = Result public typealias Index = Int public var startIndex: Int { switch self { case .success(let array): return array.startIndex case .failure: return 0 } } public var endIndex: Int { switch self { case .success(let array): return array.endIndex case .failure: return 1 } } public subscript(position: Int) -> Result { switch self { case .success(let array): return .success(array[position]) case .failure(let error): return .failure(error) } } } let coll: [Int] = [4, 8, 15, 16, 23, 42] let result: Result<[Int], Error> = .success(coll) // CHECK: success(15) print(result[2])