1 #![warn(clippy::temporary_assignment)]
3 use std::ops::{Deref, DerefMut};
5 struct TupleStruct(i32);
16 inner: &'a mut Struct,
19 impl<'a> Deref for Wrapper<'a> {
21 fn deref(&self) -> &Struct {
26 impl<'a> DerefMut for Wrapper<'a> {
27 fn deref_mut(&mut self) -> &mut Struct {
36 const A: TupleStruct = TupleStruct(1);
37 const B: Struct = Struct { field: 1 };
38 const C: MultiStruct = MultiStruct {
39 structure: Struct { field: 1 },
41 const D: ArrayStruct = ArrayStruct { array: [1] };
44 let mut s = Struct { field: 0 };
47 Struct { field: 0 }.field = 1;
49 structure: Struct { field: 0 },
53 ArrayStruct { array: [0] }.array[0] = 1;
58 C.structure.field = 2;
64 Wrapper { inner: &mut s }.field = 1;
65 let mut a_mut = TupleStruct(1);
67 let mut b_mut = Struct { field: 1 };
69 let mut c_mut = MultiStruct {
70 structure: Struct { field: 1 },
72 c_mut.structure.field = 2;
73 let mut d_mut = ArrayStruct { array: [1] };