]> git.lizzy.rs Git - rust.git/blobdiff - src/test/run-pass/borrowck-univariant-enum.rs
rollup merge of #17355 : gamazeps/issue17210
[rust.git] / src / test / run-pass / borrowck-univariant-enum.rs
index aaa08ea49b32acb9dc254d92630636b019922131..8192566da19656c5c22f59232fc1bf646efbcc1a 100644 (file)
@@ -8,10 +8,12 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-#[feature(managed_boxes)];
+
+use std::cell::Cell;
+use std::gc::GC;
 
 enum newtype {
-    newtype(int)
+    newvar(int)
 }
 
 pub fn main() {
@@ -19,12 +21,12 @@ pub fn main() {
     // Test that borrowck treats enums with a single variant
     // specially.
 
-    let x = @mut 5;
-    let y = @mut newtype(3);
-    let z = match *y {
-      newtype(b) => {
-        *x += 1;
-        *x * b
+    let x = box(GC) Cell::new(5);
+    let y = box(GC) Cell::new(newvar(3));
+    let z = match y.get() {
+      newvar(b) => {
+        x.set(x.get() + 1);
+        x.get() * b
       }
     };
     assert_eq!(z, 18);