19 lines
523 B
Rust
19 lines
523 B
Rust
//@ test-mir-pass: GVN
|
|
//@ compile-flags: -Zdump-mir-exclude-alloc-bytes
|
|
|
|
// EMIT_MIR mutable_variable_aggregate_mut_ref.main.GVN.diff
|
|
fn main() {
|
|
// CHECK-LABEL: fn main(
|
|
// CHECK: debug x => [[x:_.*]];
|
|
// CHECK: debug z => [[z:_.*]];
|
|
// CHECK: debug y => [[y:_.*]];
|
|
// CHECK: [[x]] = const (42_i32, 43_i32);
|
|
// CHECK: [[z]] = &mut [[x]];
|
|
// CHECK: ((*[[z]]).1: i32) = const 99_i32;
|
|
// CHECK: [[y]] = copy [[x]];
|
|
let mut x = (42, 43);
|
|
let z = &mut x;
|
|
z.1 = 99;
|
|
let y = x;
|
|
}
|