| // Ensure that we don't optimize out `SwitchInt` reads even if that terminator | |
| // branches to the same basic block on every target, since the operand may have | |
| // side-effects that affect analysis of the MIR. | |
| // | |
| // See <https://github.com/rust-lang/miri/issues/4237>. | |
| //@ test-mir-pass: SimplifyCfg-initial | |
| //@ compile-flags: -Zmir-preserve-ub | |
| // EMIT_MIR read_from_trivial_switch.main.SimplifyCfg-initial.diff | |
| fn main() { | |
| let ref_ = &1i32; | |
| // CHECK: switchInt | |
| let &(0 | _) = ref_; | |
| } |