blob: bda8a51504017d30d93dc16dffa62e69b8f7ab10 [file] [log] [blame]
// RUN: %target-swift-emit-sil %s -o /dev/null -verify
//===--- Function declaration with uninhabited parameter type
func foo(baz: Never) -> Int { // expected-note {{'baz' is uninhabited, so this function body can never be executed}}
print("I can't be called!") // expected-warning{{will never be executed}}
return 0
}
func bar(baz: Never) -> Int {} // ok
// SR-13432
func map<T>(_ block: (Never) -> T) {}
map { arg in // expected-note {{'arg' is uninhabited, so this function body can never be executed}}
5 // expected-warning {{will never be executed}}
}
map { arg in // expected-note {{'arg' is uninhabited, so this function body can never be executed}}
return 5 // expected-warning {{will never be executed}}
}
// We used to crash when emitting the closure below.
enum E {
static func f(_: E) {}
}
let _: (E.Type) -> (E) -> () = { s in { e in s.f(e) } }
// expected-warning@-1 {{will never be executed}}
// expected-note@-2 {{'e' is uninhabited, so this function body can never be executed}}