blob: 5b3316a74f7b660e550c73225538e72d6d469ee9 [file] [log] [blame]
// RUN: %target-swift-frontend -typecheck %s -swift-version 3
// RUN: %target-swift-frontend -typecheck -update-code -primary-file %s -emit-migrated-file-path %t.result -disable-migrator-fixits -swift-version 3
// RUN: diff -u %s.expected %t.result
// RUN: %target-swift-frontend -typecheck %s.expected -swift-version 4
func test1(_: ()) {}
test1(())
test1(())
func test2() {}
test2()
enum Result<T> {
case success(T)
}
func test3(_: Result<()>) {}
test3(.success(()))
func test4(_: (Int, Int) -> ()) {}
test4({ (x,y) in })
func test5(_: (Int, Int, Int) -> ()) {}
test5({ (x,y,z) in })
func test6(_: ((Int, Int)) -> ()) {}
test6({ let (x,y) = $0; })
func test7(_: ((Int, Int, Int)) -> ()) {}
test7({ let (x,y,z) = $0; })
test6({ let (x, y) = $0; })
test6({ let (_, _) = $0; })
test6({ (__val:(Int, Int)) in let (x,y) = __val; })
test6({ (__val:(Int, Int)) ->() in let (_,_) = __val; })
func test8(_: ((Int, Int)) -> Int) {}
test8 { (__val:(Int, Int)) -> Int in let (_,_) = __val; return 2 }
test8 { let (x, y) = $0; return x }
func isEven(_ x: Int) -> Bool { return x % 2 == 0 }
let items = Array(zip(0..<10, 0..<10))
_ = items.filter { let (_, x) = $0; return isEven(x) }
_ = items.filter { _ in true }
func toString(indexes: Int?...) -> String {
let _ = indexes.enumerated().flatMap({ (__val:(Int, Int?)) -> String? in let (i,index) = __val;
let _: Int = i
if index != nil {}
return ""
})
let _ = indexes.reduce(0) { print(($0, $1)); return $0 + ($1 ?? 0)}
let _ = indexes.reduce(0) { (true ? ($0, $1) : (1, 2)).0 + ($1 ?? 0) }
let _ = [(1, 2)].contains { $0.0 != $0.1 }
_ = ["Hello", "Foo"].sorted { print(($0, $1)); return $0.characters.count > $1.characters.count }
_ = ["Hello" : 2].map { ($0.0, ($0.1)) }
}
extension Dictionary {
public mutating func merge(with dictionary: Dictionary) {
dictionary.forEach { updateValue($0.1, forKey: $0.0) }
}
}