Matthew Maurer | 15a6560 | 2020-04-24 14:05:21 -0700 | [diff] [blame^] | 1 | #![feature(move_ref_pattern)] |
2 | |||||
3 | fn main() { | ||||
4 | struct U; | ||||
5 | |||||
6 | // A tuple is a "non-reference pattern". | ||||
7 | // A `mut` binding pattern resets the binding mode to by-value. | ||||
8 | |||||
9 | let p = (U, U); | ||||
10 | let (a, mut b) = &p; | ||||
11 | //~^ ERROR cannot move out of a shared reference | ||||
12 | |||||
13 | let mut p = (U, U); | ||||
14 | let (a, mut b) = &mut p; | ||||
15 | //~^ ERROR cannot move out of a mutable reference | ||||
16 | } |