about summary refs log tree commit diff
path: root/src/test/compile-fail/disallowed-deconstructing-destructing-struct.rs
diff options
context:
space:
mode:
authorHuon Wilson <dbau.pp+github@gmail.com>2013-05-10 16:12:19 +1000
committerHuon Wilson <dbau.pp+github@gmail.com>2013-05-10 18:34:19 +1000
commitf6743fea70e99efc33f6890770da8c0f91723311 (patch)
treebea6b5eedf23690d16021815c4c1d9d61a665393 /src/test/compile-fail/disallowed-deconstructing-destructing-struct.rs
parentad8e236f32fccf6ec99025e2ba77f79b4c98d399 (diff)
downloadrust-f6743fea70e99efc33f6890770da8c0f91723311.tar.gz
rust-f6743fea70e99efc33f6890770da8c0f91723311.zip
librustc: allow destructuring of structs with destructors if the pattern has no moves.
This check only works for `match`s, the checks (incorrectly) do not run for patterns in
`let`s.
Diffstat (limited to 'src/test/compile-fail/disallowed-deconstructing-destructing-struct.rs')
-rw-r--r--src/test/compile-fail/disallowed-deconstructing-destructing-struct.rs30
1 files changed, 0 insertions, 30 deletions
diff --git a/src/test/compile-fail/disallowed-deconstructing-destructing-struct.rs b/src/test/compile-fail/disallowed-deconstructing-destructing-struct.rs
deleted file mode 100644
index fa34c056794..00000000000
--- a/src/test/compile-fail/disallowed-deconstructing-destructing-struct.rs
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-struct X {
-    x: ~str,
-}
-
-impl Drop for X {
-    fn finalize(&self) {
-        error!("value: %s", self.x);
-    }
-}
-
-fn unwrap(x: X) -> ~str {
-    let X { x: y } = x; //~ ERROR deconstructing struct not allowed in pattern
-    y
-}
-
-fn main() {
-    let x = X { x: ~"hello" };
-    let y = unwrap(x);
-    error!("contents: %s", y);
-}