diff options
Diffstat (limited to 'src/test/ui/disallowed-deconstructing/disallowed-deconstructing-destructing-struct-let.rs')
-rw-r--r-- | src/test/ui/disallowed-deconstructing/disallowed-deconstructing-destructing-struct-let.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/test/ui/disallowed-deconstructing/disallowed-deconstructing-destructing-struct-let.rs b/src/test/ui/disallowed-deconstructing/disallowed-deconstructing-destructing-struct-let.rs new file mode 100644 index 000000000..8e394498a --- /dev/null +++ b/src/test/ui/disallowed-deconstructing/disallowed-deconstructing-destructing-struct-let.rs @@ -0,0 +1,20 @@ +struct X { + x: String, +} + +impl Drop for X { + fn drop(&mut self) { + println!("value: {}", self.x); + } +} + +fn unwrap(x: X) -> String { + let X { x: y } = x; //~ ERROR cannot move out of type + y +} + +fn main() { + let x = X { x: "hello".to_string() }; + let y = unwrap(x); + println!("contents: {}", y); +} |