| //@ edition: 2021 | |
| #![allow(incomplete_features)] | |
| #![feature(mut_ref)] | |
| struct Foo(u8); | |
| fn main() { | |
| let Foo(a) = Foo(0); | |
| a = 42; //~ ERROR [E0384] | |
| let Foo(mut a) = Foo(0); | |
| a = 42; | |
| let Foo(ref a) = Foo(0); | |
| a = &42; //~ ERROR [E0384] | |
| let Foo(mut ref a) = Foo(0); | |
| a = &42; | |
| let Foo(ref mut a) = Foo(0); | |
| a = &mut 42; //~ ERROR [E0384] | |
| let Foo(mut ref mut a) = Foo(0); | |
| a = &mut 42; | |
| let Foo(a) = &Foo(0); | |
| a = &42; //~ ERROR [E0384] | |
| let Foo(mut a) = &Foo(0); | |
| a = 42; | |
| let Foo(ref a) = &Foo(0); | |
| a = &42; //~ ERROR [E0384] | |
| let Foo(mut ref a) = &Foo(0); | |
| a = &42; | |
| let Foo(a) = &mut Foo(0); | |
| a = &mut 42; //~ ERROR [E0384] | |
| let Foo(mut a) = &mut Foo(0); | |
| a = 42; | |
| let Foo(ref a) = &mut Foo(0); | |
| a = &42; //~ ERROR [E0384] | |
| let Foo(mut ref a) = &mut Foo(0); | |
| a = &42; | |
| let Foo(ref mut a) = &mut Foo(0); | |
| a = &mut 42; //~ ERROR [E0384] | |
| let Foo(mut ref mut a) = &mut Foo(0); | |
| a = &mut 42; | |
| } |