| error[E0505]: cannot move out of `s` because it is borrowed |
| --> $DIR/btreemap_dropck.rs:15:10 |
| | |
| LL | let s = String::from("Hello World!"); |
| | - binding `s` declared here |
| 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` |
| | |
| help: consider cloning the value if the performance cost is acceptable |
| | |
| LL | let _map = BTreeMap::from_iter([((), PrintOnDrop(&s.clone()))]); |
| | ++++++++ |
| |
| error: aborting due to 1 previous error |
| |
| For more information about this error, try `rustc --explain E0505`. |