// EMIT_MIR_FOR_EACH_PANIC_STRATEGY //! Tests that cyclic assignments don't hang DestinationPropagation, and result in reasonable code. //@ test-mir-pass: DestinationPropagation fn val() -> i32 { 1 } // EMIT_MIR cycle.main.DestinationPropagation.diff fn main() { // CHECK-LABEL: main( // CHECK: debug x => [[x:_.*]]; // CHECK: [[x]] = val() // CHECK-NOT: [[x]] = {{_.*}}; let mut x = val(); let y = x; let z = y; x = z; drop(x); }