#![feature(llvm_asm)] enum Empty {} fn empty() -> Option { None } // EMIT_MIR rustc.main.UnreachablePropagation.diff fn main() { if let Some(_x) = empty() { let mut _y; if true { // asm instruction stops unreachable propagation to block bb3. unsafe { llvm_asm!("NOP"); } _y = 21; } else { // asm instruction stops unreachable propagation to block bb3. unsafe { llvm_asm!("NOP"); } _y = 42; } match _x { } } }