1 #![warn(clippy::temporary_assignment)]
2 #![allow(const_item_mutation)]
4 use std::ops::{Deref, DerefMut};
6 struct TupleStruct(i32);
17 inner: &'a mut Struct,
20 impl<'a> Deref for Wrapper<'a> {
22 fn deref(&self) -> &Struct {
27 impl<'a> DerefMut for Wrapper<'a> {
28 fn deref_mut(&mut self) -> &mut Struct {
37 const A: TupleStruct = TupleStruct(1);
38 const B: Struct = Struct { field: 1 };
39 const C: MultiStruct = MultiStruct {
40 structure: Struct { field: 1 },
42 const D: ArrayStruct = ArrayStruct { array: [1] };
45 let mut s = Struct { field: 0 };
48 Struct { field: 0 }.field = 1;
50 structure: Struct { field: 0 },
54 ArrayStruct { array: [0] }.array[0] = 1;
60 Wrapper { inner: &mut s }.field = 1;
61 let mut a_mut = TupleStruct(1);
63 let mut b_mut = Struct { field: 1 };
65 let mut c_mut = MultiStruct {
66 structure: Struct { field: 1 },
68 c_mut.structure.field = 2;
69 let mut d_mut = ArrayStruct { array: [1] };