]> git.lizzy.rs Git - rust.git/commitdiff
test: Make `borrowck-assign-to-subfield` into a run-pass test, now that
authorPatrick Walton <pcwalton@mimiga.net>
Tue, 31 Dec 2013 01:53:21 +0000 (17:53 -0800)
committerPatrick Walton <pcwalton@mimiga.net>
Fri, 3 Jan 2014 22:02:01 +0000 (14:02 -0800)
it no longer has boxes in it

src/test/compile-fail/borrowck-assign-to-subfield.rs [deleted file]
src/test/run-pass/borrowck-assign-to-subfield.rs [new file with mode: 0644]

diff --git a/src/test/compile-fail/borrowck-assign-to-subfield.rs b/src/test/compile-fail/borrowck-assign-to-subfield.rs
deleted file mode 100644 (file)
index 40db367..0000000
+++ /dev/null
@@ -1,41 +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.
-
-#[feature(managed_boxes)];
-
-fn main() {
-    struct A {
-        a: int,
-        w: B,
-        x: @B,
-        z: @mut B
-    }
-    struct B {
-        a: int
-    }
-    let mut p = A {
-        a: 1,
-        w: B {a: 1},
-        x: @B {a: 1},
-        z: @mut B {a: 1}
-    };
-
-    // even though `x` is not declared as a mutable field,
-    // `p` as a whole is mutable, so it can be modified.
-    p.a = 2;
-
-    // this is true for an interior field too
-    p.w.a = 2;
-
-    // in these cases we pass through a box, so the mut
-    // of the box is dominant
-    p.x.a = 2;     //~ ERROR cannot assign to immutable field
-    p.z.a = 2;
-}
diff --git a/src/test/run-pass/borrowck-assign-to-subfield.rs b/src/test/run-pass/borrowck-assign-to-subfield.rs
new file mode 100644 (file)
index 0000000..d388f07
--- /dev/null
@@ -0,0 +1,30 @@
+// 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.
+
+fn main() {
+    struct A {
+        a: int,
+        w: B,
+    }
+    struct B {
+        a: int
+    }
+    let mut p = A {
+        a: 1,
+        w: B {a: 1},
+    };
+
+    // even though `x` is not declared as a mutable field,
+    // `p` as a whole is mutable, so it can be modified.
+    p.a = 2;
+
+    // this is true for an interior field too
+    p.w.a = 2;
+}