diff options
Diffstat (limited to 'src/test/ui/never_type/never-type-rvalues.rs')
-rw-r--r-- | src/test/ui/never_type/never-type-rvalues.rs | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/test/ui/never_type/never-type-rvalues.rs b/src/test/ui/never_type/never-type-rvalues.rs new file mode 100644 index 000000000..9ccc73dbf --- /dev/null +++ b/src/test/ui/never_type/never-type-rvalues.rs @@ -0,0 +1,38 @@ +// run-pass + +#![feature(never_type)] +#![allow(dead_code)] +#![allow(path_statements)] +#![allow(unreachable_patterns)] + +fn never_direct(x: !) { + x; +} + +fn never_ref_pat(ref x: !) { + *x; +} + +fn never_ref(x: &!) { + let &y = x; + y; +} + +fn never_pointer(x: *const !) { + unsafe { + *x; + } +} + +fn never_slice(x: &[!]) { + x[0]; +} + +fn never_match(x: Result<(), !>) { + match x { + Ok(_) => {}, + Err(_) => {}, + } +} + +pub fn main() { } |