struct Defer<'a> { | |
x: &'a [&'a str], | |
} | |
impl<'a> Drop for Defer<'a> { | |
fn drop(&mut self) { | |
unsafe { | |
println!("{:?}", self.x); | |
} | |
} | |
} | |
fn defer<'r>(x: &'r [&'r str]) -> Defer<'r> { | |
Defer { | |
x: x | |
} | |
} | |
fn main() { | |
let x = defer(&vec!["Goodbye", "world!"]); //~ ERROR temporary value dropped while borrowed | |
x.x[0]; | |
} |