1 error[E0382]: use of moved value: `foo`
2 --> $DIR/issue-17385.rs:28:5
6 LL | / match foo { //~ ERROR use of moved value
8 LL | | _ => unreachable!()
10 | |_____^ value used here after move
12 = note: move occurs because `foo` has type `X`, which does not implement the `Copy` trait
14 error[E0382]: borrow of moved value: `foo`
15 --> $DIR/issue-17385.rs:28:5
18 | --- value moved here
19 LL | / match foo { //~ ERROR use of moved value
21 LL | | _ => unreachable!()
23 | |_____^ value borrowed here after move
25 = note: move occurs because `foo` has type `X`, which does not implement the `Copy` trait
27 error[E0382]: use of moved value: `foo.0`
28 --> $DIR/issue-17385.rs:29:11
31 | --- value moved here
32 LL | match foo { //~ ERROR use of moved value
34 | ^ value used here after move
36 = note: move occurs because `foo` has type `X`, which does not implement the `Copy` trait
38 error[E0382]: use of moved value: `e`
39 --> $DIR/issue-17385.rs:35:5
43 LL | / match e { //~ ERROR use of moved value
44 LL | | Enum::Variant1 => unreachable!(),
45 LL | | Enum::Variant2 => ()
47 | |_____^ value used here after move
49 = note: move occurs because `e` has type `Enum`, which does not implement the `Copy` trait
51 error[E0382]: borrow of moved value: `e`
52 --> $DIR/issue-17385.rs:35:5
56 LL | / match e { //~ ERROR use of moved value
57 LL | | Enum::Variant1 => unreachable!(),
58 LL | | Enum::Variant2 => ()
60 | |_____^ value borrowed here after move
62 = note: move occurs because `e` has type `Enum`, which does not implement the `Copy` trait
64 error[E0382]: use of moved value: `e`
65 --> $DIR/issue-17385.rs:36:9
69 LL | match e { //~ ERROR use of moved value
70 LL | Enum::Variant1 => unreachable!(),
71 | ^^^^^^^^^^^^^^ value used here after move
73 = note: move occurs because `e` has type `Enum`, which does not implement the `Copy` trait
75 error: aborting due to 6 previous errors
77 For more information about this error, try `rustc --explain E0382`.