2022-07-18 12:31:34 +02:00
|
|
|
error[E0505]: cannot move out of `s` because it is borrowed
|
|
|
|
--> $DIR/btreemap_dropck.rs:15:10
|
|
|
|
|
|
2023-01-15 03:06:44 +00:00
|
|
|
LL | let s = String::from("Hello World!");
|
|
|
|
| - binding `s` declared here
|
2022-07-18 12:31:34 +02:00
|
|
|
LL | let _map = BTreeMap::from_iter([((), PrintOnDrop(&s))]);
|
|
|
|
| -- borrow of `s` occurs here
|
|
|
|
LL | drop(s);
|
|
|
|
| ^ move out of `s` occurs here
|
|
|
|
LL | }
|
|
|
|
| - borrow might be used here, when `_map` is dropped and runs the `Drop` code for type `BTreeMap`
|
2024-03-13 01:51:08 +00:00
|
|
|
|
|
|
|
|
help: consider cloning the value if the performance cost is acceptable
|
|
|
|
|
|
2024-03-13 02:13:51 +00:00
|
|
|
LL - let _map = BTreeMap::from_iter([((), PrintOnDrop(&s))]);
|
|
|
|
LL + let _map = BTreeMap::from_iter([((), PrintOnDrop(s.clone()))]);
|
|
|
|
|
|
2022-07-18 12:31:34 +02:00
|
|
|
|
2023-11-21 15:44:16 +00:00
|
|
|
error: aborting due to 1 previous error
|
2022-07-18 12:31:34 +02:00
|
|
|
|
|
|
|
For more information about this error, try `rustc --explain E0505`.
|