1 error[E0382]: use of moved value: `s`
2 --> $DIR/issue-29723.rs:12:13
4 LL | let s = String::new();
5 | - move occurs because `s` has type `String`, which does not implement the `Copy` trait
6 LL | let _s = match 0 {
7 LL | 0 if { drop(s); false } => String::from("oops"),
11 | ^ value used here after move
13 help: consider cloning the value if the performance cost is acceptable
15 LL | 0 if { drop(s.clone()); false } => String::from("oops"),
18 error[E0382]: use of moved value: `s`
19 --> $DIR/issue-29723.rs:20:14
21 LL | let s = String::new();
22 | - move occurs because `s` has type `String`, which does not implement the `Copy` trait
23 LL | let _s = match 0 {
24 LL | 0 if let Some(()) = { drop(s); None } => String::from("oops"),
27 | ^ value used here after move
29 help: consider cloning the value if the performance cost is acceptable
31 LL | 0 if let Some(()) = { drop(s.clone()); None } => String::from("oops"),
34 error: aborting due to 2 previous errors
36 For more information about this error, try `rustc --explain E0382`.