2018-08-08 14:28:26 +02:00
|
|
|
error[E0382]: use of moved value: `my_str`
|
2022-12-21 16:29:35 +01:00
|
|
|
--> $DIR/borrowck-drop-from-guard.rs:11:23
|
2018-08-08 14:28:26 +02:00
|
|
|
|
|
2019-01-02 16:43:08 -08:00
|
|
|
LL | let my_str = "hello".to_owned();
|
2020-09-02 10:40:56 +03:00
|
|
|
| ------ move occurs because `my_str` has type `String`, which does not implement the `Copy` trait
|
2019-01-02 16:43:08 -08:00
|
|
|
LL | match Some(42) {
|
2018-08-08 14:28:26 +02:00
|
|
|
LL | Some(_) if { drop(my_str); false } => {}
|
|
|
|
| ------ value moved here
|
|
|
|
LL | Some(_) => {}
|
2019-03-09 15:03:44 +03:00
|
|
|
LL | None => { foo(my_str); }
|
2018-08-08 14:28:26 +02:00
|
|
|
| ^^^^^^ value used here after move
|
2022-11-02 21:22:24 -07:00
|
|
|
|
|
|
|
|
help: consider cloning the value if the performance cost is acceptable
|
|
|
|
|
|
|
|
|
LL | Some(_) if { drop(my_str.clone()); false } => {}
|
|
|
|
| ++++++++
|
2018-08-08 14:28:26 +02:00
|
|
|
|
2022-12-21 16:29:35 +01:00
|
|
|
error[E0382]: use of moved value: `my_str`
|
|
|
|
--> $DIR/borrowck-drop-from-guard.rs:18:23
|
|
|
|
|
|
|
|
|
LL | let my_str = "hello".to_owned();
|
|
|
|
| ------ move occurs because `my_str` has type `String`, which does not implement the `Copy` trait
|
|
|
|
LL | match Some(42) {
|
|
|
|
LL | Some(_) if let Some(()) = { drop(my_str); None } => {}
|
|
|
|
| ------ value moved here
|
|
|
|
LL | Some(_) => {}
|
|
|
|
LL | None => { foo(my_str); }
|
|
|
|
| ^^^^^^ value used here after move
|
|
|
|
|
|
|
|
|
help: consider cloning the value if the performance cost is acceptable
|
|
|
|
|
|
|
|
|
LL | Some(_) if let Some(()) = { drop(my_str.clone()); None } => {}
|
|
|
|
| ++++++++
|
|
|
|
|
|
|
|
error: aborting due to 2 previous errors
|
2018-08-08 14:28:26 +02:00
|
|
|
|
|
|
|
For more information about this error, try `rustc --explain E0382`.
|