1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
//@ 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;
}
|