// skip-filecheck // EMIT_MIR_FOR_EACH_PANIC_STRATEGY //! Tests that we can propagate into places that are projections into unions //@ compile-flags: -Zunsound-mir-opts -C debuginfo=full fn val() -> u32 { 1 } // EMIT_MIR union.main.DestinationPropagation.diff fn main() { // CHECK-LABEL: fn args( // CHECK: {{_.*}} = Un { us: const 1_u32 }; union Un { us: u32, } let un = Un { us: val() }; drop(unsafe { un.us }); }