| 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]; | |
| } |