17 lines
390 B
Rust
17 lines
390 B
Rust
|
struct PrintOnDrop<'a>(&'a str);
|
||
|
|
||
|
impl Drop for PrintOnDrop<'_> {
|
||
|
fn drop(&mut self) {
|
||
|
println!("printint: {}", self.0);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
use std::collections::BTreeMap;
|
||
|
use std::iter::FromIterator;
|
||
|
|
||
|
fn main() {
|
||
|
let s = String::from("Hello World!");
|
||
|
let _map = BTreeMap::from_iter([((), PrintOnDrop(&s))]);
|
||
|
drop(s); //~ ERROR cannot move out of `s` because it is borrowed
|
||
|
}
|