2018-01-18 09:54:35 -06:00
|
|
|
error[E0382]: use of moved value: `s`
|
2022-12-21 09:29:35 -06:00
|
|
|
--> $DIR/issue-29723.rs:12:13
|
2018-01-18 09:54:35 -06:00
|
|
|
|
|
2019-01-02 18:43:08 -06:00
|
|
|
LL | let s = String::new();
|
2020-09-02 02:40:56 -05:00
|
|
|
| - move occurs because `s` has type `String`, which does not implement the `Copy` trait
|
2019-01-02 18:43:08 -06:00
|
|
|
LL | let _s = match 0 {
|
2018-02-22 18:42:32 -06:00
|
|
|
LL | 0 if { drop(s); false } => String::from("oops"),
|
2018-01-18 09:54:35 -06:00
|
|
|
| - value moved here
|
|
|
|
...
|
2018-02-22 18:42:32 -06:00
|
|
|
LL | s
|
2018-01-18 09:54:35 -06:00
|
|
|
| ^ value used here after move
|
2022-11-02 23:22:24 -05:00
|
|
|
|
|
|
|
|
help: consider cloning the value if the performance cost is acceptable
|
|
|
|
|
|
|
|
|
LL | 0 if { drop(s.clone()); false } => String::from("oops"),
|
|
|
|
| ++++++++
|
2018-01-18 09:54:35 -06:00
|
|
|
|
2022-12-21 09:29:35 -06:00
|
|
|
error[E0382]: use of moved value: `s`
|
|
|
|
--> $DIR/issue-29723.rs:20:14
|
|
|
|
|
|
|
|
|
LL | let s = String::new();
|
|
|
|
| - move occurs because `s` has type `String`, which does not implement the `Copy` trait
|
|
|
|
LL | let _s = match 0 {
|
|
|
|
LL | 0 if let Some(()) = { drop(s); None } => String::from("oops"),
|
|
|
|
| - value moved here
|
|
|
|
LL | _ => s
|
|
|
|
| ^ value used here after move
|
|
|
|
|
|
|
|
|
help: consider cloning the value if the performance cost is acceptable
|
|
|
|
|
|
|
|
|
LL | 0 if let Some(()) = { drop(s.clone()); None } => String::from("oops"),
|
|
|
|
| ++++++++
|
|
|
|
|
|
|
|
error: aborting due to 2 previous errors
|
2018-01-18 09:54:35 -06:00
|
|
|
|
2018-03-03 08:59:40 -06:00
|
|
|
For more information about this error, try `rustc --explain E0382`.
|