//# publish module 0x1.Tester { struct T has copy { f: u64 } t() { let x: Self.T; let r1: &u64; let r2: &u64; let f: u64; label b0: x = T { f: 0 }; r1 = &(&x).T::f; r2 = &(&x).T::f; // copy is valid here even though immutably borrowed T { f: f } = copy(x); _ = move(r1); _ = move(r2); T { f: f } = move(x); return; } }