]> git.lizzy.rs Git - rust.git/blob - src/test/ui/rfc-2005-default-binding-mode/explicit-mut.rs
Rollup merge of #98640 - cuviper:stable-rust-analyzer, r=Mark-Simulacrum
[rust.git] / src / test / ui / rfc-2005-default-binding-mode / explicit-mut.rs
1 // Verify the binding mode shifts - only when no `&` are auto-dereferenced is the
2 // final default binding mode mutable.
3
4 fn main() {
5     match &&Some(5i32) {
6         Some(n) => {
7             *n += 1; //~ ERROR cannot assign to `*n`, which is behind a `&` reference
8             let _ = n;
9         }
10         None => {},
11     };
12
13     match &mut &Some(5i32) {
14         Some(n) => {
15             *n += 1; //~ ERROR cannot assign to `*n`, which is behind a `&` reference
16             let _ = n;
17         }
18         None => {},
19     };
20
21     match &&mut Some(5i32) {
22         Some(n) => {
23             *n += 1; //~ ERROR cannot assign to `*n`, which is behind a `&` reference
24             let _ = n;
25         }
26         None => {},
27     };
28 }