Skip to content

Commit

Permalink
Add a mir-opt test
Browse files Browse the repository at this point in the history
  • Loading branch information
varkor committed Dec 11, 2018
1 parent 3dd5034 commit 19ea2d1
Showing 1 changed file with 37 additions and 0 deletions.
37 changes: 37 additions & 0 deletions src/test/mir-opt/uninhabited-enum.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#![feature(never_type)]

pub enum Void {}

#[no_mangle]
pub fn process_never(input: *const !) {
let _input = unsafe { &*input };
}

#[no_mangle]
pub fn process_void(input: *const Void) {
let _input = unsafe { &*input };
// In the future, this should end with `unreachable`, but we currently only do
// unreachability analysis for `!`.
}

fn main() {}

// END RUST SOURCE
//
// START rustc.process_never.SimplifyLocals.after.mir
// bb0: {
// StorageLive(_2);
// _2 = &(*_1);
// StorageDead(_2);
// unreachable;
// }
// END rustc.process_never.SimplifyLocals.after.mir
//
// START rustc.process_void.SimplifyLocals.after.mir
// bb0: {
// StorageLive(_2);
// _2 = &(*_1);
// StorageDead(_2);
// return;
// }
// END rustc.process_void.SimplifyLocals.after.mir

0 comments on commit 19ea2d1

Please sign in to comment.