1 error[E0382]: use of moved value: `m`
2 --> $DIR/issue-53114-borrow-checks.rs:22:11
5 | - move occurs because `m` has type `M`, which does not implement the `Copy` trait
8 LL | match m { _ => { } } // #53114: should eventually be accepted too
9 | ^ value used here after move
11 error[E0382]: use of partially moved value: `mm`
12 --> $DIR/issue-53114-borrow-checks.rs:27:11
14 LL | match mm { (_x, _) => { } }
15 | -- value partially moved here
16 LL | match mm { (_, _y) => { } }
17 | ^^ value used here after partial move
19 = note: partial move occurs because `mm.0` has type `M`, which does not implement the `Copy` trait
20 help: borrow this binding in the pattern to avoid moving the value
22 LL | match mm { (ref _x, _) => { } }
25 error[E0382]: use of partially moved value: `mm`
26 --> $DIR/issue-53114-borrow-checks.rs:29:11
28 LL | match mm { (_, _y) => { } }
29 | -- value partially moved here
31 LL | match mm { (_, _) => { } }
32 | ^^ value used here after partial move
34 = note: partial move occurs because `mm.1` has type `M`, which does not implement the `Copy` trait
35 help: borrow this binding in the pattern to avoid moving the value
37 LL | match mm { (_, ref _y) => { } }
40 error[E0382]: use of moved value: `m`
41 --> $DIR/issue-53114-borrow-checks.rs:36:16
44 | - move occurs because `m` has type `M`, which does not implement the `Copy` trait
47 LL | if let _ = m { } // #53114: should eventually be accepted too
48 | ^ value used here after move
50 error[E0382]: use of partially moved value: `mm`
51 --> $DIR/issue-53114-borrow-checks.rs:41:22
53 LL | if let (_x, _) = mm { }
54 | -- value partially moved here
55 LL | if let (_, _y) = mm { }
56 | ^^ value used here after partial move
58 = note: partial move occurs because `mm.0` has type `M`, which does not implement the `Copy` trait
59 help: borrow this binding in the pattern to avoid moving the value
61 LL | if let (ref _x, _) = mm { }
64 error[E0382]: use of partially moved value: `mm`
65 --> $DIR/issue-53114-borrow-checks.rs:43:21
67 LL | if let (_, _y) = mm { }
68 | -- value partially moved here
70 LL | if let (_, _) = mm { }
71 | ^^ value used here after partial move
73 = note: partial move occurs because `mm.1` has type `M`, which does not implement the `Copy` trait
74 help: borrow this binding in the pattern to avoid moving the value
76 LL | if let (_, ref _y) = mm { }
79 error: aborting due to 6 previous errors
81 For more information about this error, try `rustc --explain E0382`.