mirror of
https://github.com/rust-lang/rust
synced 2024-11-05 20:45:15 +00:00
14 lines
396 B
Rust
14 lines
396 B
Rust
//@ run-pass
|
|
|
|
#![allow(warnings)]
|
|
|
|
// Here the type of `c` is `Option<?T>`, where `?T` is unconstrained.
|
|
// Because there is data-flow from the `{ return; }` block, which
|
|
// diverges and hence has type `!`, into `c`, we will default `?T` to
|
|
// `!`, and hence this code compiles rather than failing and requiring
|
|
// a type annotation.
|
|
|
|
fn main() {
|
|
let c = Some({ return; });
|
|
c.unwrap();
|
|
}
|