| //@ test-mir-pass: DeadStoreElimination-initial | 
 |  | 
 | pub struct Foo { | 
 |     a: i32, | 
 |     b: i64, | 
 |     c: i32, | 
 | } | 
 |  | 
 | // EMIT_MIR ref.tuple.DeadStoreElimination-initial.diff | 
 | pub fn tuple(v: (i32, &Foo)) -> i32 { | 
 |     // CHECK-LABEL: fn tuple | 
 |     // CHECK: debug _dead => [[dead:_[0-9]+]]; | 
 |     // CHECK: bb0: | 
 |     // CHECK: DBG: [[dead]] = &((*_3).2: i32) | 
 |     let _dead = &v.1.c; | 
 |     v.1.a | 
 | } | 
 |  | 
 | // EMIT_MIR ref.dead_first.DeadStoreElimination-initial.diff | 
 | pub fn dead_first(v: &Foo) -> &i32 { | 
 |     // CHECK-LABEL: fn dead_first | 
 |     // CHECK: debug a => [[var_a:_[0-9]+]]; | 
 |     // CHECK: bb0: | 
 |     // CHECK: DBG: [[var_a]] = &((*_1).2: i32) | 
 |     // CHECK: [[tmp_4:_[0-9]+]] = &((*_1).0: i32) | 
 |     // CHECK: [[tmp_3:_[0-9]+]] = &(*[[tmp_4]]) | 
 |     // CHECK: [[var_a]] = move [[tmp_3]] | 
 |     let mut a = &v.c; | 
 |     a = &v.a; | 
 |     a | 
 | } |