diff options
Diffstat (limited to 'src/test/ui/never_type/never-result.rs')
-rw-r--r-- | src/test/ui/never_type/never-result.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/test/ui/never_type/never-result.rs b/src/test/ui/never_type/never-result.rs new file mode 100644 index 000000000..35af37910 --- /dev/null +++ b/src/test/ui/never_type/never-result.rs @@ -0,0 +1,21 @@ +// run-pass + +#![allow(unused_variables)] +#![allow(unreachable_code)] + +// Test that we can extract a ! through pattern matching then use it as several different types. + +#![feature(never_type)] + +fn main() { + let x: Result<u32, !> = Ok(123); + match x { + Ok(z) => (), + Err(y) => { + let q: u32 = y; + let w: i32 = y; + let e: String = y; + y + }, + } +} |