2018-01-18 15:54:35 +00:00
|
|
|
error[E0382]: use of moved value: `s`
|
2022-12-21 15:29:35 +00:00
|
|
|
--> $DIR/issue-29723.rs:12:13
|
2018-01-18 15:54:35 +00:00
|
|
|
|
|
2019-01-03 00:43:08 +00:00
|
|
|
LL | let s = String::new();
|
2020-09-02 07:40:56 +00:00
|
|
|
| - move occurs because `s` has type `String`, which does not implement the `Copy` trait
|
2019-01-03 00:43:08 +00:00
|
|
|
LL | let _s = match 0 {
|
2018-02-23 00:42:32 +00:00
|
|
|
LL | 0 if { drop(s); false } => String::from("oops"),
|
2018-01-18 15:54:35 +00:00
|
|
|
| - value moved here
|
|
|
|
...
|
2018-02-23 00:42:32 +00:00
|
|
|
LL | s
|
2018-01-18 15:54:35 +00:00
|
|
|
| ^ value used here after move
|
2022-11-03 04:22:24 +00: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 15:54:35 +00:00
|
|
|
|
2022-12-21 15:29:35 +00: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 15:54:35 +00:00
|
|
|
|
2018-03-03 14:59:40 +00:00
|
|
|
For more information about this error, try `rustc --explain E0382`.
|