| //@ run-rustfix | |
| struct X { | |
| x: String, | |
| } | |
| impl Drop for X { | |
| fn drop(&mut self) { | |
| println!("value: {}", self.x); | |
| } | |
| } | |
| fn unwrap(x: X) -> String { | |
| let X { x: ref y } = x; //~ ERROR cannot move out of type | |
| y.to_string() | |
| } | |
| fn main() { | |
| let x = X { x: "hello".to_string() }; | |
| let y = unwrap(x); | |
| println!("contents: {}", y); | |
| } |