2018-08-08 07:28:26 -05:00
|
|
|
error[E0382]: use of moved value: `my_str`
|
2022-12-21 09:29:35 -06:00
|
|
|
--> $DIR/borrowck-drop-from-guard.rs:11:23
|
2018-08-08 07:28:26 -05:00
|
|
|
|
|
2019-01-02 18:43:08 -06:00
|
|
|
LL | let my_str = "hello".to_owned();
|
2020-09-02 02:40:56 -05:00
|
|
|
| ------ move occurs because `my_str` has type `String`, which does not implement the `Copy` trait
|
2019-01-02 18:43:08 -06:00
|
|
|
LL | match Some(42) {
|
2018-08-08 07:28:26 -05:00
|
|
|
LL | Some(_) if { drop(my_str); false } => {}
|
|
|
|
| ------ value moved here
|
|
|
|
LL | Some(_) => {}
|
2019-03-09 06:03:44 -06:00
|
|
|
LL | None => { foo(my_str); }
|
2018-08-08 07:28:26 -05: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 | Some(_) if { drop(my_str.clone()); false } => {}
|
|
|
|
| ++++++++
|
2018-08-08 07:28:26 -05:00
|
|
|
|
2022-12-21 09:29:35 -06: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 07:28:26 -05:00
|
|
|
|
|
|
|
For more information about this error, try `rustc --explain E0382`.
|