From 142672dca4314e9cfebf067d46c3b542c721cff6 Mon Sep 17 00:00:00 2001
From: Daniel Micay <danielmicay@gmail.com>
Date: Wed, 23 Oct 2013 04:49:18 -0400
Subject: [PATCH] register snapshots

---
 src/etc/combine-tests.py                                  | 4 ++--
 src/etc/extract-tests.py                                  | 2 +-
 src/libextra/extra.rs                                     | 2 +-
 src/librustc/front/feature_gate.rs                        | 3 +--
 src/librustc/rustc.rs                                     | 2 +-
 src/librustdoc/rustdoc.rs                                 | 2 +-
 src/librustpkg/rustpkg.rs                                 | 2 +-
 src/libstd/std.rs                                         | 2 +-
 src/libstd/unstable/intrinsics.rs                         | 8 --------
 src/libsyntax/syntax.rs                                   | 2 +-
 src/snapshots.txt                                         | 8 ++++++++
 src/test/auxiliary/cci_nested_lib.rs                      | 2 ++
 src/test/auxiliary/crate-method-reexport-grrrrrrr2.rs     | 1 +
 src/test/auxiliary/issue-2380.rs                          | 1 +
 src/test/auxiliary/issue-2631-a.rs                        | 1 +
 src/test/bench/shootout-fasta.rs                          | 2 +-
 src/test/bench/sudoku.rs                                  | 2 ++
 src/test/bench/task-perf-alloc-unwind.rs                  | 2 ++
 src/test/compile-fail/autoderef-full-lval.rs              | 2 ++
 src/test/compile-fail/borrowck-assign-to-subfield.rs      | 2 ++
 src/test/compile-fail/borrowck-mut-deref-comp.rs          | 2 ++
 src/test/compile-fail/borrowck-object-lifetime.rs         | 2 ++
 src/test/compile-fail/borrowck-object-mutability.rs       | 2 ++
 src/test/compile-fail/box-static-bound.rs                 | 2 ++
 src/test/compile-fail/cast-immutable-mutable-trait.rs     | 2 ++
 src/test/compile-fail/class-cast-to-trait.rs              | 2 ++
 src/test/compile-fail/drop-on-non-struct.rs               | 2 ++
 src/test/compile-fail/estr-subtyping.rs                   | 2 ++
 src/test/compile-fail/evec-subtyping.rs                   | 2 ++
 src/test/compile-fail/fn-variance-1.rs                    | 2 ++
 src/test/compile-fail/issue-2063-resource.rs              | 2 ++
 src/test/compile-fail/issue-2548.rs                       | 2 ++
 src/test/compile-fail/issue-3668.rs                       | 2 ++
 src/test/compile-fail/issue-5153.rs                       | 2 ++
 src/test/compile-fail/kindck-destructor-owned.rs          | 2 ++
 src/test/compile-fail/kindck-nonsendable-1.rs             | 2 ++
 src/test/compile-fail/kindck-owned-trait-contains.rs      | 2 ++
 src/test/compile-fail/kindck-owned-trait.rs               | 2 ++
 src/test/compile-fail/lint-heap-memory.rs                 | 1 +
 src/test/compile-fail/lint-managed-heap-memory.rs         | 1 +
 src/test/compile-fail/lub-in-args.rs                      | 2 ++
 src/test/compile-fail/map-types.rs                        | 2 ++
 src/test/compile-fail/no-send-res-ports.rs                | 2 ++
 src/test/compile-fail/object-does-not-impl-trait.rs       | 2 ++
 src/test/compile-fail/object-pointer-types.rs             | 2 ++
 src/test/compile-fail/pinned-deep-copy.rs                 | 2 ++
 .../compile-fail/regions-infer-borrow-scope-too-big.rs    | 2 ++
 .../regions-infer-borrow-scope-within-loop.rs             | 2 ++
 .../regions-infer-invariance-due-to-mutability-1.rs       | 2 ++
 .../regions-infer-invariance-due-to-mutability-2.rs       | 2 ++
 .../regions-infer-invariance-due-to-mutability-3.rs       | 2 ++
 .../regions-infer-invariance-due-to-mutability-4.rs       | 2 ++
 .../regions-infer-invariance-due-to-mutability.rs         | 2 ++
 src/test/compile-fail/regions-infer-paramd-indirect.rs    | 2 ++
 src/test/compile-fail/regions-trait-1.rs                  | 2 ++
 src/test/compile-fail/selftype-traittype.rs               | 2 ++
 src/test/compile-fail/terr-sorts.rs                       | 2 ++
 src/test/compile-fail/trait-bounds-sugar.rs               | 2 ++
 src/test/compile-fail/trait-impl-method-mismatch.rs       | 2 ++
 src/test/compile-fail/trait-test-2.rs                     | 2 ++
 src/test/compile-fail/unique-vec-res.rs                   | 2 ++
 src/test/compile-fail/unreachable-arm.rs                  | 2 ++
 src/test/compile-fail/unsendable-class.rs                 | 2 ++
 src/test/debug-info/borrowed-managed-basic.rs             | 2 ++
 src/test/debug-info/borrowed-tuple.rs                     | 2 ++
 src/test/debug-info/boxed-vec.rs                          | 2 ++
 .../debug-info/by-value-self-argument-in-trait-impl.rs    | 2 ++
 src/test/debug-info/destructured-fn-argument.rs           | 2 ++
 src/test/debug-info/managed-pointer-within-unique-vec.rs  | 2 ++
 src/test/debug-info/managed-pointer-within-unique.rs      | 2 ++
 src/test/debug-info/recursive-struct.rs                   | 2 ++
 src/test/debug-info/trait-pointers.rs                     | 2 ++
 src/test/run-fail/args-fail.rs                            | 2 ++
 src/test/run-fail/borrowck-wg-fail-object-arg.rs          | 2 ++
 src/test/run-fail/borrowck-wg-fail-object.rs              | 2 ++
 src/test/run-fail/borrowck-wg-fail.rs                     | 2 ++
 src/test/run-fail/borrowck-wg-imm-then-mut.rs             | 2 ++
 src/test/run-fail/borrowck-wg-mut-then-imm.rs             | 2 ++
 src/test/run-fail/issue-2272.rs                           | 2 ++
 src/test/run-fail/unwind-box-fn-unique.rs                 | 2 ++
 src/test/run-fail/unwind-box-trait.rs                     | 2 ++
 src/test/run-fail/unwind-initializer-indirect.rs          | 2 ++
 src/test/run-fail/unwind-initializer.rs                   | 2 ++
 src/test/run-fail/unwind-lambda.rs                        | 2 ++
 src/test/run-fail/unwind-move.rs                          | 2 ++
 src/test/run-fail/unwind-resource-fail.rs                 | 2 ++
 src/test/run-fail/unwind-resource-fail3.rs                | 2 ++
 src/test/run-fail/unwind-tup.rs                           | 2 ++
 src/test/run-fail/unwind-tup2.rs                          | 2 ++
 src/test/run-pass/alignment-gep-tup-like-1.rs             | 2 ++
 src/test/run-pass/alignment-gep-tup-like-2.rs             | 2 ++
 src/test/run-pass/autoderef-method-on-trait.rs            | 2 ++
 src/test/run-pass/autoderef-method-priority.rs            | 2 ++
 .../run-pass/autoderef-method-twice-but-not-thrice.rs     | 2 ++
 .../run-pass/autoref-intermediate-types-issue-3585.rs     | 2 ++
 src/test/run-pass/borrowck-borrow-from-expr-block.rs      | 2 ++
 .../run-pass/borrowck-preserve-box-in-arm-not-taken.rs    | 2 ++
 .../run-pass/borrowck-preserve-box-sometimes-needed.rs    | 2 ++
 src/test/run-pass/borrowck-root-while-cond-2.rs           | 2 ++
 src/test/run-pass/borrowck-root-while-cond.rs             | 2 ++
 src/test/run-pass/box-in-tup.rs                           | 2 ++
 src/test/run-pass/box-inside-if.rs                        | 4 +---
 src/test/run-pass/box-inside-if2.rs                       | 4 +---
 src/test/run-pass/box-pattern.rs                          | 2 ++
 src/test/run-pass/box-unbox.rs                            | 2 +-
 src/test/run-pass/box.rs                                  | 2 +-
 src/test/run-pass/boxed-class-type-substitution.rs        | 2 ++
 src/test/run-pass/boxed-trait-with-vstore.rs              | 2 ++
 src/test/run-pass/cast-mutable-trait.rs                   | 2 ++
 src/test/run-pass/cci_nested_exe.rs                       | 2 +-
 src/test/run-pass/class-cast-to-trait-cross-crate-2.rs    | 2 ++
 src/test/run-pass/class-cast-to-trait-multiple-types.rs   | 2 ++
 src/test/run-pass/class-cast-to-trait.rs                  | 2 ++
 src/test/run-pass/class-separate-impl.rs                  | 2 ++
 src/test/run-pass/classes-self-referential.rs             | 2 ++
 src/test/run-pass/cleanup-copy-mode.rs                    | 2 ++
 src/test/run-pass/close-over-big-then-small-data.rs       | 2 ++
 src/test/run-pass/crate-method-reexport-grrrrrrr.rs       | 2 ++
 src/test/run-pass/cycle-collection.rs                     | 2 ++
 src/test/run-pass/cycle-collection2.rs                    | 2 ++
 src/test/run-pass/deref.rs                                | 2 +-
 src/test/run-pass/deriving-zero.rs                        | 2 ++
 src/test/run-pass/double-unbox.rs                         | 2 ++
 src/test/run-pass/drop-on-empty-block-exit.rs             | 2 +-
 src/test/run-pass/enum-nullable-simplifycfg-misopt.rs     | 2 ++
 src/test/run-pass/estr-shared.rs                          | 2 ++
 src/test/run-pass/evec-internal-boxes.rs                  | 1 +
 src/test/run-pass/explicit-self-objects-box.rs            | 2 ++
 src/test/run-pass/explicit-self-objects-simple.rs         | 2 ++
 src/test/run-pass/explicit-self.rs                        | 1 +
 src/test/run-pass/export-non-interference.rs              | 1 +
 src/test/run-pass/expr-block-generic-box1.rs              | 4 +---
 src/test/run-pass/expr-block-generic-box2.rs              | 2 ++
 src/test/run-pass/expr-elseif-ref.rs                      | 2 ++
 src/test/run-pass/expr-if-generic-box1.rs                 | 4 +---
 src/test/run-pass/expr-if-generic-box2.rs                 | 3 ++-
 src/test/run-pass/expr-match-generic-box1.rs              | 4 +---
 src/test/run-pass/expr-match-generic-box2.rs              | 3 ++-
 src/test/run-pass/expr-repeat-vstore.rs                   | 2 ++
 src/test/run-pass/exterior.rs                             | 4 +---
 src/test/run-pass/generic-alias-box.rs                    | 2 +-
 src/test/run-pass/generic-box.rs                          | 2 +-
 src/test/run-pass/generic-drop-glue.rs                    | 1 +
 src/test/run-pass/generic-exterior-box.rs                 | 2 +-
 src/test/run-pass/generic-fn-box.rs                       | 2 +-
 src/test/run-pass/generic-ivec.rs                         | 2 ++
 src/test/run-pass/generic-object.rs                       | 2 ++
 src/test/run-pass/generic-recursive-tag.rs                | 2 +-
 src/test/run-pass/generic-tag.rs                          | 1 +
 src/test/run-pass/init-res-into-things.rs                 | 2 ++
 src/test/run-pass/issue-2288.rs                           | 2 ++
 src/test/run-pass/issue-2380-b.rs                         | 2 ++
 src/test/run-pass/issue-2631-b.rs                         | 2 ++
 src/test/run-pass/issue-2734.rs                           | 2 ++
 src/test/run-pass/issue-2735-2.rs                         | 2 ++
 src/test/run-pass/issue-2735-3.rs                         | 2 ++
 src/test/run-pass/issue-2735.rs                           | 2 ++
 src/test/run-pass/issue-2904.rs                           | 2 ++
 src/test/run-pass/issue-2935.rs                           | 2 ++
 src/test/run-pass/issue-3121.rs                           | 2 ++
 src/test/run-pass/issue-3447.rs                           | 2 ++
 src/test/run-pass/issue-3556.rs                           | 2 ++
 src/test/run-pass/issue-3702.rs                           | 2 ++
 src/test/run-pass/issue-3794.rs                           | 2 ++
 src/test/run-pass/issue-5275.rs                           | 2 ++
 src/test/run-pass/issue-5884.rs                           | 2 ++
 .../issue-7673-cast-generically-implemented-trait.rs      | 2 ++
 src/test/run-pass/issue-979.rs                            | 2 ++
 src/test/run-pass/issue-980.rs                            | 2 ++
 src/test/run-pass/kindck-owned-trait-contains-1.rs        | 2 ++
 src/test/run-pass/leak-box-as-tydesc.rs                   | 2 +-
 src/test/run-pass/leak-tag-copy.rs                        | 1 +
 src/test/run-pass/let-destruct-fresh-mem.rs               | 1 +
 src/test/run-pass/list.rs                                 | 4 +---
 src/test/run-pass/log-linearized.rs                       | 2 ++
 src/test/run-pass/match-pattern-drop.rs                   | 3 +--
 src/test/run-pass/mlist.rs                                | 2 ++
 .../run-pass/monomorphized-callees-with-ty-params-3314.rs | 2 ++
 src/test/run-pass/move-1.rs                               | 2 ++
 src/test/run-pass/move-3.rs                               | 2 ++
 src/test/run-pass/move-4.rs                               | 1 +
 src/test/run-pass/move-arg-2.rs                           | 2 ++
 src/test/run-pass/mutable-vec-drop.rs                     | 1 +
 src/test/run-pass/mutual-recursion-group.rs               | 4 +---
 src/test/run-pass/nested-patterns.rs                      | 2 ++
 src/test/run-pass/new-vstore-mut-box-syntax.rs            | 2 ++
 src/test/run-pass/newtype-struct-drop-run.rs              | 2 ++
 src/test/run-pass/non-boolean-pure-fns.rs                 | 2 ++
 .../run-pass/objects-coerce-from-managed-to-borrowed.rs   | 2 ++
 .../objects-owned-object-borrowed-method-header.rs        | 2 ++
 src/test/run-pass/option-unwrap.rs                        | 2 ++
 src/test/run-pass/output-slot-variants.rs                 | 1 +
 src/test/run-pass/packed-struct-size.rs                   | 2 ++
 src/test/run-pass/packed-tuple-struct-size.rs             | 2 ++
 src/test/run-pass/pass-by-copy.rs                         | 2 ++
 src/test/run-pass/reflect-visit-data.rs                   | 2 ++
 src/test/run-pass/reflect-visit-type.rs                   | 2 ++
 src/test/run-pass/resource-assign-is-not-copy.rs          | 2 ++
 src/test/run-pass/resource-cycle.rs                       | 2 ++
 src/test/run-pass/resource-cycle2.rs                      | 2 ++
 src/test/run-pass/resource-cycle3.rs                      | 2 ++
 src/test/run-pass/resource-destruct.rs                    | 2 ++
 src/test/run-pass/resource-in-struct.rs                   | 2 ++
 src/test/run-pass/shape_intrinsic_tag_then_rec.rs         | 2 ++
 src/test/run-pass/terminate-in-initializer.rs             | 2 ++
 src/test/run-pass/trait-cast.rs                           | 2 ++
 src/test/run-pass/trait-default-method-xc.rs              | 2 ++
 src/test/run-pass/trait-object-generics.rs                | 2 ++
 src/test/run-pass/typeclasses-eq-example-static.rs        | 2 ++
 src/test/run-pass/typeclasses-eq-example.rs               | 2 ++
 src/test/run-pass/uniq-cc-generic.rs                      | 2 ++
 src/test/run-pass/uniq-cc.rs                              | 2 ++
 src/test/run-pass/unique-pinned-nocopy-2.rs               | 2 ++
 src/test/run-pass/unwind-resource2.rs                     | 2 ++
 src/test/run-pass/vec-drop.rs                             | 2 +-
 src/test/run-pass/vec-slice-drop.rs                       | 2 ++
 src/test/run-pass/vector-no-ann-2.rs                      | 2 ++
 src/test/run-pass/weird-exprs.rs                          | 2 ++
 218 files changed, 395 insertions(+), 60 deletions(-)

diff --git a/src/etc/combine-tests.py b/src/etc/combine-tests.py
index d40d25c1d18..25976410c7c 100755
--- a/src/etc/combine-tests.py
+++ b/src/etc/combine-tests.py
@@ -40,7 +40,7 @@ c = open("tmp/run_pass_stage2.rc", "w")
 i = 0
 c.write("// AUTO-GENERATED FILE: DO NOT EDIT\n")
 c.write("#[link(name=\"run_pass_stage2\", vers=\"0.1\")];\n")
-c.write("#[feature(globs, macro_rules, struct_variant)];\n")
+c.write("#[feature(globs, macro_rules, struct_variant, managed_boxes)];\n")
 for t in stage2_tests:
     p = os.path.join(run_pass, t)
     p = p.replace("\\", "\\\\")
@@ -52,7 +52,7 @@ c.close()
 
 d = open("tmp/run_pass_stage2_driver.rs", "w")
 d.write("// AUTO-GENERATED FILE: DO NOT EDIT\n")
-d.write("#[feature(globs)];\n")
+d.write("#[feature(globs, managed_boxes)];\n")
 d.write("extern mod extra;\n")
 d.write("extern mod run_pass_stage2;\n")
 d.write("use run_pass_stage2::*;\n")
diff --git a/src/etc/extract-tests.py b/src/etc/extract-tests.py
index 953b69eedbb..736292337ad 100644
--- a/src/etc/extract-tests.py
+++ b/src/etc/extract-tests.py
@@ -63,7 +63,7 @@ while cur < len(lines):
 #[ allow(unused_variable) ];\n
 #[ allow(dead_assignment) ];\n
 #[ allow(unused_mut) ];\n
-#[ feature(macro_rules, globs, struct_variant) ];\n
+#[ feature(macro_rules, globs, struct_variant, managed_boxes) ];\n
 """ + block
             if xfail:
                 block = "// xfail-test\n" + block
diff --git a/src/libextra/extra.rs b/src/libextra/extra.rs
index 4b29709895e..79a5b555c29 100644
--- a/src/libextra/extra.rs
+++ b/src/libextra/extra.rs
@@ -33,7 +33,7 @@ Rust extras are part of the standard Rust distribution.
 #[license = "MIT/ASL2"];
 #[crate_type = "lib"];
 
-#[feature(macro_rules, globs)];
+#[feature(macro_rules, globs, managed_boxes)];
 
 #[deny(non_camel_case_types)];
 #[deny(missing_doc)];
diff --git a/src/librustc/front/feature_gate.rs b/src/librustc/front/feature_gate.rs
index 000dea12b07..6de94936d15 100644
--- a/src/librustc/front/feature_gate.rs
+++ b/src/librustc/front/feature_gate.rs
@@ -138,8 +138,7 @@ impl Visitor<()> for Context {
                                    experimental and likely to be removed");
 
             },
-            // NOTE: enable after snapshot
-            ast::ty_box(_) if false => {
+            ast::ty_box(_) => {
                 self.gate_feature("managed_boxes", t.span, "The managed box syntax may be replaced \
                                                             by a library type, and a garbage \
                                                             collector is not yet implemented. \
diff --git a/src/librustc/rustc.rs b/src/librustc/rustc.rs
index 8bdb518b621..ecf45d5c424 100644
--- a/src/librustc/rustc.rs
+++ b/src/librustc/rustc.rs
@@ -17,7 +17,7 @@
 #[license = "MIT/ASL2"];
 #[crate_type = "lib"];
 
-#[feature(macro_rules, globs, struct_variant)];
+#[feature(macro_rules, globs, struct_variant, managed_boxes)];
 
 // Rustc tasks always run on a fixed_stack_segment, so code in this
 // module can call C functions (in particular, LLVM functions) with
diff --git a/src/librustdoc/rustdoc.rs b/src/librustdoc/rustdoc.rs
index ddf686a3905..4c53fe48fe1 100644
--- a/src/librustdoc/rustdoc.rs
+++ b/src/librustdoc/rustdoc.rs
@@ -17,7 +17,7 @@
 #[license = "MIT/ASL2"];
 #[crate_type = "lib"];
 
-#[feature(globs, struct_variant)];
+#[feature(globs, struct_variant, managed_boxes)];
 
 extern mod syntax;
 extern mod rustc;
diff --git a/src/librustpkg/rustpkg.rs b/src/librustpkg/rustpkg.rs
index 37a5a2ea711..2c1fdccd13c 100644
--- a/src/librustpkg/rustpkg.rs
+++ b/src/librustpkg/rustpkg.rs
@@ -18,7 +18,7 @@
 #[license = "MIT/ASL2"];
 #[crate_type = "lib"];
 
-#[feature(globs)];
+#[feature(globs, managed_boxes)];
 
 extern mod extra;
 extern mod rustc;
diff --git a/src/libstd/std.rs b/src/libstd/std.rs
index c27609a590a..8c72e083f88 100644
--- a/src/libstd/std.rs
+++ b/src/libstd/std.rs
@@ -61,7 +61,7 @@ they contained the following prologue:
       html_favicon_url = "http://www.rust-lang.org/favicon.ico",
       html_root_url = "http://static.rust-lang.org/doc/master")];
 
-#[feature(macro_rules, globs, asm)];
+#[feature(macro_rules, globs, asm, managed_boxes)];
 
 // Don't link to std. We are std.
 #[no_std];
diff --git a/src/libstd/unstable/intrinsics.rs b/src/libstd/unstable/intrinsics.rs
index ee44bf4d996..1900d9d5801 100644
--- a/src/libstd/unstable/intrinsics.rs
+++ b/src/libstd/unstable/intrinsics.rs
@@ -410,9 +410,7 @@ extern "rust-intrinsic" {
     pub fn fabsf32(x: f32) -> f32;
     pub fn fabsf64(x: f64) -> f64;
 
-    #[cfg(not(stage0))]
     pub fn copysignf32(x: f32, y: f32) -> f32;
-    #[cfg(not(stage0))]
     pub fn copysignf64(x: f64, y: f64) -> f64;
 
     pub fn floorf32(x: f32) -> f32;
@@ -424,19 +422,13 @@ extern "rust-intrinsic" {
     pub fn truncf32(x: f32) -> f32;
     pub fn truncf64(x: f64) -> f64;
 
-    #[cfg(not(stage0))]
     pub fn rintf32(x: f32) -> f32;
-    #[cfg(not(stage0))]
     pub fn rintf64(x: f64) -> f64;
 
-    #[cfg(not(stage0))]
     pub fn nearbyintf32(x: f32) -> f32;
-    #[cfg(not(stage0))]
     pub fn nearbyintf64(x: f64) -> f64;
 
-    #[cfg(not(stage0))]
     pub fn roundf32(x: f32) -> f32;
-    #[cfg(not(stage0))]
     pub fn roundf64(x: f64) -> f64;
 
     pub fn ctpop8(x: i8) -> i8;
diff --git a/src/libsyntax/syntax.rs b/src/libsyntax/syntax.rs
index 1f385a00fa6..00fc676f595 100644
--- a/src/libsyntax/syntax.rs
+++ b/src/libsyntax/syntax.rs
@@ -20,7 +20,7 @@
 #[license = "MIT/ASL2"];
 #[crate_type = "lib"];
 
-#[feature(macro_rules, globs)];
+#[feature(macro_rules, globs, managed_boxes)];
 
 extern mod extra;
 
diff --git a/src/snapshots.txt b/src/snapshots.txt
index ec97f5fdf9e..ad9fba50bf7 100644
--- a/src/snapshots.txt
+++ b/src/snapshots.txt
@@ -1,3 +1,11 @@
+S 2013-10-22 ae0905a
+  freebsd-x86_64 6e9d81c160963308c2bf7886fae6726274b365ed
+  linux-i386 1c449504aa04c0345ad09f5bcb5a57b9656d11c3
+  linux-x86_64 ab649598e9af2ab3c38179e6229ea8cc4be6e338
+  macos-i386 28d4a2e8495a981e86e0c57fce05bcfc15ba656d
+  macos-x86_64 9506a3d746c1d1cc1befc5c9556f1653fee25f85
+  winnt-i386 6038235d3a2284beb7be8e80631ec6b6952df8ab
+
 S 2013-10-21 6e6981c
   freebsd-x86_64 7f630581d0e881483272140e84bc2f494daf6204
   linux-i386 5c754455610013bbe448e8f6ef8ba1a05b167919
diff --git a/src/test/auxiliary/cci_nested_lib.rs b/src/test/auxiliary/cci_nested_lib.rs
index 350bd09826f..72ce66c20bd 100644
--- a/src/test/auxiliary/cci_nested_lib.rs
+++ b/src/test/auxiliary/cci_nested_lib.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 pub struct Entry<A,B> {
     key: A,
     value: B
diff --git a/src/test/auxiliary/crate-method-reexport-grrrrrrr2.rs b/src/test/auxiliary/crate-method-reexport-grrrrrrr2.rs
index d8e3c2a9054..700f95f3d70 100644
--- a/src/test/auxiliary/crate-method-reexport-grrrrrrr2.rs
+++ b/src/test/auxiliary/crate-method-reexport-grrrrrrr2.rs
@@ -8,6 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
 #[link(name = "crate_method_reexport_grrrrrrr2")];
 
 pub use name_pool::add;
diff --git a/src/test/auxiliary/issue-2380.rs b/src/test/auxiliary/issue-2380.rs
index bd1b9d84e07..1ec88ba5735 100644
--- a/src/test/auxiliary/issue-2380.rs
+++ b/src/test/auxiliary/issue-2380.rs
@@ -8,6 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
 #[link(name = "a", vers = "0.0")];
 #[crate_type = "lib"];
 
diff --git a/src/test/auxiliary/issue-2631-a.rs b/src/test/auxiliary/issue-2631-a.rs
index 75a4b6e2621..fe68141e6dd 100644
--- a/src/test/auxiliary/issue-2631-a.rs
+++ b/src/test/auxiliary/issue-2631-a.rs
@@ -8,6 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
 #[link(name = "req")];
 #[crate_type = "lib"];
 
diff --git a/src/test/bench/shootout-fasta.rs b/src/test/bench/shootout-fasta.rs
index 77c3a0e3983..ef1061c780e 100644
--- a/src/test/bench/shootout-fasta.rs
+++ b/src/test/bench/shootout-fasta.rs
@@ -8,7 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
+#[feature(managed_boxes)];
 
 /* -*- mode: rust; indent-tabs-mode: nil -*-
  * Implementation of 'fasta' benchmark from
diff --git a/src/test/bench/sudoku.rs b/src/test/bench/sudoku.rs
index a4e32b4c074..189b3ef740e 100644
--- a/src/test/bench/sudoku.rs
+++ b/src/test/bench/sudoku.rs
@@ -10,6 +10,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 extern mod extra;
 
 use std::io::{ReaderUtil, WriterUtil};
diff --git a/src/test/bench/task-perf-alloc-unwind.rs b/src/test/bench/task-perf-alloc-unwind.rs
index 7ee0c3e13ce..022d656ad4f 100644
--- a/src/test/bench/task-perf-alloc-unwind.rs
+++ b/src/test/bench/task-perf-alloc-unwind.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 extern mod extra;
 
 use extra::list::{List, Cons, Nil};
diff --git a/src/test/compile-fail/autoderef-full-lval.rs b/src/test/compile-fail/autoderef-full-lval.rs
index b8af09e308b..99955bfe56b 100644
--- a/src/test/compile-fail/autoderef-full-lval.rs
+++ b/src/test/compile-fail/autoderef-full-lval.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 struct clam {
     x: @int,
     y: @int,
diff --git a/src/test/compile-fail/borrowck-assign-to-subfield.rs b/src/test/compile-fail/borrowck-assign-to-subfield.rs
index 2ee5ecfcb9c..40db36787bb 100644
--- a/src/test/compile-fail/borrowck-assign-to-subfield.rs
+++ b/src/test/compile-fail/borrowck-assign-to-subfield.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 fn main() {
     struct A {
         a: int,
diff --git a/src/test/compile-fail/borrowck-mut-deref-comp.rs b/src/test/compile-fail/borrowck-mut-deref-comp.rs
index d1dc2961978..7cf2e57ab80 100644
--- a/src/test/compile-fail/borrowck-mut-deref-comp.rs
+++ b/src/test/compile-fail/borrowck-mut-deref-comp.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 struct foo(~int);
 
 fn borrow(x: @mut foo) {
diff --git a/src/test/compile-fail/borrowck-object-lifetime.rs b/src/test/compile-fail/borrowck-object-lifetime.rs
index 25d5be7ed55..ce762e351f9 100644
--- a/src/test/compile-fail/borrowck-object-lifetime.rs
+++ b/src/test/compile-fail/borrowck-object-lifetime.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 trait Foo {
     fn borrowed<'a>(&'a self) -> &'a ();
 }
diff --git a/src/test/compile-fail/borrowck-object-mutability.rs b/src/test/compile-fail/borrowck-object-mutability.rs
index 1ea9e3c8815..e6cb8d62d04 100644
--- a/src/test/compile-fail/borrowck-object-mutability.rs
+++ b/src/test/compile-fail/borrowck-object-mutability.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 trait Foo {
     fn borrowed(&self);
     fn borrowed_mut(&mut self);
diff --git a/src/test/compile-fail/box-static-bound.rs b/src/test/compile-fail/box-static-bound.rs
index 69d7bedbd37..8a5ea61537e 100644
--- a/src/test/compile-fail/box-static-bound.rs
+++ b/src/test/compile-fail/box-static-bound.rs
@@ -1,3 +1,5 @@
+#[feature(managed_boxes)];
+
 fn f<T>(x: T) -> @T {
     @x  //~ ERROR value may contain borrowed pointers
 }
diff --git a/src/test/compile-fail/cast-immutable-mutable-trait.rs b/src/test/compile-fail/cast-immutable-mutable-trait.rs
index 0a94d6c4560..817696c6d20 100644
--- a/src/test/compile-fail/cast-immutable-mutable-trait.rs
+++ b/src/test/compile-fail/cast-immutable-mutable-trait.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 trait T {
     fn foo(@mut self);
 }
diff --git a/src/test/compile-fail/class-cast-to-trait.rs b/src/test/compile-fail/class-cast-to-trait.rs
index 0d1582bf857..4abd9898d87 100644
--- a/src/test/compile-fail/class-cast-to-trait.rs
+++ b/src/test/compile-fail/class-cast-to-trait.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 trait noisy {
   fn speak(&self);
 }
diff --git a/src/test/compile-fail/drop-on-non-struct.rs b/src/test/compile-fail/drop-on-non-struct.rs
index e65d5966b27..93aeb48e302 100644
--- a/src/test/compile-fail/drop-on-non-struct.rs
+++ b/src/test/compile-fail/drop-on-non-struct.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 type Foo = @[u8];
 
 impl Drop for Foo {   //~ ERROR the Drop trait may only be implemented
diff --git a/src/test/compile-fail/estr-subtyping.rs b/src/test/compile-fail/estr-subtyping.rs
index d0d1b2013a9..c715f95d290 100644
--- a/src/test/compile-fail/estr-subtyping.rs
+++ b/src/test/compile-fail/estr-subtyping.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 fn wants_box(x: @str) { }
 fn wants_uniq(x: ~str) { }
 fn wants_slice(x: &str) { }
diff --git a/src/test/compile-fail/evec-subtyping.rs b/src/test/compile-fail/evec-subtyping.rs
index f9c8ba01f18..b3248c11374 100644
--- a/src/test/compile-fail/evec-subtyping.rs
+++ b/src/test/compile-fail/evec-subtyping.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 fn wants_box(x: @[uint]) { }
 fn wants_uniq(x: ~[uint]) { }
 fn wants_three(x: [uint, ..3]) { }
diff --git a/src/test/compile-fail/fn-variance-1.rs b/src/test/compile-fail/fn-variance-1.rs
index 3e9e306ed2b..dd14d89a380 100644
--- a/src/test/compile-fail/fn-variance-1.rs
+++ b/src/test/compile-fail/fn-variance-1.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 fn takes_mut(x: @mut int) { }
 fn takes_imm(x: @int) { }
 
diff --git a/src/test/compile-fail/issue-2063-resource.rs b/src/test/compile-fail/issue-2063-resource.rs
index db054d5aba7..0fd2b04a199 100644
--- a/src/test/compile-fail/issue-2063-resource.rs
+++ b/src/test/compile-fail/issue-2063-resource.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // test that autoderef of a type like this does not
 // cause compiler to loop.  Note that no instances
 // of such a type could ever be constructed.
diff --git a/src/test/compile-fail/issue-2548.rs b/src/test/compile-fail/issue-2548.rs
index 5822b35c74e..21b6959692f 100644
--- a/src/test/compile-fail/issue-2548.rs
+++ b/src/test/compile-fail/issue-2548.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // A test case for #2548.
 
 struct foo {
diff --git a/src/test/compile-fail/issue-3668.rs b/src/test/compile-fail/issue-3668.rs
index 77e2e4f21e8..4665687db85 100644
--- a/src/test/compile-fail/issue-3668.rs
+++ b/src/test/compile-fail/issue-3668.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 struct P { child: Option<@mut P> }
 trait PTrait {
    fn getChildOption(&self) -> Option<@P>;
diff --git a/src/test/compile-fail/issue-5153.rs b/src/test/compile-fail/issue-5153.rs
index 37d2cce333a..619ce688d08 100644
--- a/src/test/compile-fail/issue-5153.rs
+++ b/src/test/compile-fail/issue-5153.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // error-pattern: type `@Foo:'static` does not implement any method in scope named `foo`
 
 trait Foo {
diff --git a/src/test/compile-fail/kindck-destructor-owned.rs b/src/test/compile-fail/kindck-destructor-owned.rs
index 7ab7aeea85c..2ea12ab9fdc 100644
--- a/src/test/compile-fail/kindck-destructor-owned.rs
+++ b/src/test/compile-fail/kindck-destructor-owned.rs
@@ -1,3 +1,5 @@
+#[feature(managed_boxes)];
+
 struct Foo {
     f: @mut int,
 }
diff --git a/src/test/compile-fail/kindck-nonsendable-1.rs b/src/test/compile-fail/kindck-nonsendable-1.rs
index 99057ba940c..4472f042242 100644
--- a/src/test/compile-fail/kindck-nonsendable-1.rs
+++ b/src/test/compile-fail/kindck-nonsendable-1.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 fn foo(_x: @uint) {}
 
 fn main() {
diff --git a/src/test/compile-fail/kindck-owned-trait-contains.rs b/src/test/compile-fail/kindck-owned-trait-contains.rs
index cf047674cd6..fb85edf699a 100644
--- a/src/test/compile-fail/kindck-owned-trait-contains.rs
+++ b/src/test/compile-fail/kindck-owned-trait-contains.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 trait repeat<A> { fn get(&self) -> A; }
 
 impl<A:Clone> repeat<A> for @A {
diff --git a/src/test/compile-fail/kindck-owned-trait.rs b/src/test/compile-fail/kindck-owned-trait.rs
index ef9cbfe5dd9..df066931391 100644
--- a/src/test/compile-fail/kindck-owned-trait.rs
+++ b/src/test/compile-fail/kindck-owned-trait.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 trait foo { fn foo(&self); }
 
 fn to_foo<T:Clone + foo>(t: T) -> @foo {
diff --git a/src/test/compile-fail/lint-heap-memory.rs b/src/test/compile-fail/lint-heap-memory.rs
index 77f1df100b3..fadda4173a6 100644
--- a/src/test/compile-fail/lint-heap-memory.rs
+++ b/src/test/compile-fail/lint-heap-memory.rs
@@ -8,6 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
 #[forbid(heap_memory)];
 
 struct Foo {
diff --git a/src/test/compile-fail/lint-managed-heap-memory.rs b/src/test/compile-fail/lint-managed-heap-memory.rs
index 6dccc17b2cb..6b8a971653d 100644
--- a/src/test/compile-fail/lint-managed-heap-memory.rs
+++ b/src/test/compile-fail/lint-managed-heap-memory.rs
@@ -8,6 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
 #[forbid(managed_heap_memory)];
 
 struct Foo {
diff --git a/src/test/compile-fail/lub-in-args.rs b/src/test/compile-fail/lub-in-args.rs
index 5c71ae38a64..0ce8ee40d3b 100644
--- a/src/test/compile-fail/lub-in-args.rs
+++ b/src/test/compile-fail/lub-in-args.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 fn two_args<T>(x: T, y: T) { }
 
 fn main() {
diff --git a/src/test/compile-fail/map-types.rs b/src/test/compile-fail/map-types.rs
index 19423c6690f..c2c4a0b6908 100644
--- a/src/test/compile-fail/map-types.rs
+++ b/src/test/compile-fail/map-types.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 use std::container::Map;
 use std::hashmap::HashMap;
 
diff --git a/src/test/compile-fail/no-send-res-ports.rs b/src/test/compile-fail/no-send-res-ports.rs
index e0ce486cbd6..ce0e55f09f6 100644
--- a/src/test/compile-fail/no-send-res-ports.rs
+++ b/src/test/compile-fail/no-send-res-ports.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 use std::cell::Cell;
 use std::task;
 
diff --git a/src/test/compile-fail/object-does-not-impl-trait.rs b/src/test/compile-fail/object-does-not-impl-trait.rs
index 886b849dbef..916bb74edb2 100644
--- a/src/test/compile-fail/object-does-not-impl-trait.rs
+++ b/src/test/compile-fail/object-does-not-impl-trait.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // Test that an object type `@Foo` is not considered to implement the
 // trait `Foo`. Issue #5087.
 
diff --git a/src/test/compile-fail/object-pointer-types.rs b/src/test/compile-fail/object-pointer-types.rs
index b7d320fbab0..a1a577a1856 100644
--- a/src/test/compile-fail/object-pointer-types.rs
+++ b/src/test/compile-fail/object-pointer-types.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 trait Foo {
     fn borrowed(&self);
     fn borrowed_mut(&mut self);
diff --git a/src/test/compile-fail/pinned-deep-copy.rs b/src/test/compile-fail/pinned-deep-copy.rs
index 69ed3ea545e..6c19ef9700f 100644
--- a/src/test/compile-fail/pinned-deep-copy.rs
+++ b/src/test/compile-fail/pinned-deep-copy.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 struct r {
   i: @mut int,
 }
diff --git a/src/test/compile-fail/regions-infer-borrow-scope-too-big.rs b/src/test/compile-fail/regions-infer-borrow-scope-too-big.rs
index 5710188ed9f..b17ec8782f1 100644
--- a/src/test/compile-fail/regions-infer-borrow-scope-too-big.rs
+++ b/src/test/compile-fail/regions-infer-borrow-scope-too-big.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 struct point {
     x: int,
     y: int,
diff --git a/src/test/compile-fail/regions-infer-borrow-scope-within-loop.rs b/src/test/compile-fail/regions-infer-borrow-scope-within-loop.rs
index 2ffd0796e30..e0764d39291 100644
--- a/src/test/compile-fail/regions-infer-borrow-scope-within-loop.rs
+++ b/src/test/compile-fail/regions-infer-borrow-scope-within-loop.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 fn borrow<'r, T>(x: &'r T) -> &'r T {x}
 
 fn foo(cond: &fn() -> bool, box: &fn() -> @int) {
diff --git a/src/test/compile-fail/regions-infer-invariance-due-to-mutability-1.rs b/src/test/compile-fail/regions-infer-invariance-due-to-mutability-1.rs
index a5eeb83989f..f7c9e5bda3b 100644
--- a/src/test/compile-fail/regions-infer-invariance-due-to-mutability-1.rs
+++ b/src/test/compile-fail/regions-infer-invariance-due-to-mutability-1.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 struct invariant<'self> {
     f: @mut &'self int
 }
diff --git a/src/test/compile-fail/regions-infer-invariance-due-to-mutability-2.rs b/src/test/compile-fail/regions-infer-invariance-due-to-mutability-2.rs
index 8adf353bb82..522e5675bfe 100644
--- a/src/test/compile-fail/regions-infer-invariance-due-to-mutability-2.rs
+++ b/src/test/compile-fail/regions-infer-invariance-due-to-mutability-2.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 struct invariant<'self> {
     f: @mut [&'self int]
 }
diff --git a/src/test/compile-fail/regions-infer-invariance-due-to-mutability-3.rs b/src/test/compile-fail/regions-infer-invariance-due-to-mutability-3.rs
index 6e322b170e8..775164453e0 100644
--- a/src/test/compile-fail/regions-infer-invariance-due-to-mutability-3.rs
+++ b/src/test/compile-fail/regions-infer-invariance-due-to-mutability-3.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 struct invariant<'self> {
     f: &'static fn(x: @mut &'self int)
 }
diff --git a/src/test/compile-fail/regions-infer-invariance-due-to-mutability-4.rs b/src/test/compile-fail/regions-infer-invariance-due-to-mutability-4.rs
index 380e9b27ff9..44856d9e531 100644
--- a/src/test/compile-fail/regions-infer-invariance-due-to-mutability-4.rs
+++ b/src/test/compile-fail/regions-infer-invariance-due-to-mutability-4.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 struct invariant<'self> {
     f: &'static fn() -> @mut &'self int
 }
diff --git a/src/test/compile-fail/regions-infer-invariance-due-to-mutability.rs b/src/test/compile-fail/regions-infer-invariance-due-to-mutability.rs
index c2a7f29a8ab..9853741d77a 100644
--- a/src/test/compile-fail/regions-infer-invariance-due-to-mutability.rs
+++ b/src/test/compile-fail/regions-infer-invariance-due-to-mutability.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 struct invariant<'self> {
     f: @mut &'self int
 }
diff --git a/src/test/compile-fail/regions-infer-paramd-indirect.rs b/src/test/compile-fail/regions-infer-paramd-indirect.rs
index 0b4aa44010b..6a9b153bbe3 100644
--- a/src/test/compile-fail/regions-infer-paramd-indirect.rs
+++ b/src/test/compile-fail/regions-infer-paramd-indirect.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // Check that we correctly infer that b and c must be region
 // parameterized because they reference a which requires a region.
 
diff --git a/src/test/compile-fail/regions-trait-1.rs b/src/test/compile-fail/regions-trait-1.rs
index ae697ad1181..f5dd33a1598 100644
--- a/src/test/compile-fail/regions-trait-1.rs
+++ b/src/test/compile-fail/regions-trait-1.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 struct ctxt { v: uint }
 
 trait get_ctxt {
diff --git a/src/test/compile-fail/selftype-traittype.rs b/src/test/compile-fail/selftype-traittype.rs
index b5484b786a0..d6c97806201 100644
--- a/src/test/compile-fail/selftype-traittype.rs
+++ b/src/test/compile-fail/selftype-traittype.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 trait add {
     fn plus(&self, x: Self) -> Self;
 }
diff --git a/src/test/compile-fail/terr-sorts.rs b/src/test/compile-fail/terr-sorts.rs
index ad14688f08c..6a2fd99f648 100644
--- a/src/test/compile-fail/terr-sorts.rs
+++ b/src/test/compile-fail/terr-sorts.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 struct foo {
     a: int,
     b: int,
diff --git a/src/test/compile-fail/trait-bounds-sugar.rs b/src/test/compile-fail/trait-bounds-sugar.rs
index 68a0ae90014..d907022da71 100644
--- a/src/test/compile-fail/trait-bounds-sugar.rs
+++ b/src/test/compile-fail/trait-bounds-sugar.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // Tests for "default" bounds inferred for traits with no bounds list.
 
 trait Foo {
diff --git a/src/test/compile-fail/trait-impl-method-mismatch.rs b/src/test/compile-fail/trait-impl-method-mismatch.rs
index 54fa62f7977..b5474210dc5 100644
--- a/src/test/compile-fail/trait-impl-method-mismatch.rs
+++ b/src/test/compile-fail/trait-impl-method-mismatch.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 trait Mumbo {
     fn jumbo(&self, x: @uint) -> uint;
 }
diff --git a/src/test/compile-fail/trait-test-2.rs b/src/test/compile-fail/trait-test-2.rs
index ea04f74f078..3006b6e5acf 100644
--- a/src/test/compile-fail/trait-test-2.rs
+++ b/src/test/compile-fail/trait-test-2.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 trait bar { fn dup(&self) -> Self; fn blah<X>(&self); }
 impl bar for int { fn dup(&self) -> int { *self } fn blah<X>(&self) {} }
 impl bar for uint { fn dup(&self) -> uint { *self } fn blah<X>(&self) {} }
diff --git a/src/test/compile-fail/unique-vec-res.rs b/src/test/compile-fail/unique-vec-res.rs
index dd9d2e067c6..9771fea04ef 100644
--- a/src/test/compile-fail/unique-vec-res.rs
+++ b/src/test/compile-fail/unique-vec-res.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 struct r {
   i: @mut int,
 }
diff --git a/src/test/compile-fail/unreachable-arm.rs b/src/test/compile-fail/unreachable-arm.rs
index a720c6deedf..135d02037e0 100644
--- a/src/test/compile-fail/unreachable-arm.rs
+++ b/src/test/compile-fail/unreachable-arm.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // error-pattern:unreachable pattern
 
 enum foo { a(@foo, int), b(uint), }
diff --git a/src/test/compile-fail/unsendable-class.rs b/src/test/compile-fail/unsendable-class.rs
index de089dcf914..08dbaaac295 100644
--- a/src/test/compile-fail/unsendable-class.rs
+++ b/src/test/compile-fail/unsendable-class.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // Test that a class with an unsendable field can't be
 // sent
 
diff --git a/src/test/debug-info/borrowed-managed-basic.rs b/src/test/debug-info/borrowed-managed-basic.rs
index 917db045edb..b9b362718d2 100644
--- a/src/test/debug-info/borrowed-managed-basic.rs
+++ b/src/test/debug-info/borrowed-managed-basic.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // Gdb doesn't know about UTF-32 character encoding and will print a rust char as only
 // its numerical value.
 
diff --git a/src/test/debug-info/borrowed-tuple.rs b/src/test/debug-info/borrowed-tuple.rs
index bcf73bae5ec..e18c10eb466 100644
--- a/src/test/debug-info/borrowed-tuple.rs
+++ b/src/test/debug-info/borrowed-tuple.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // compile-flags:-Z extra-debug-info
 // debugger:rbreak zzz
 // debugger:run
diff --git a/src/test/debug-info/boxed-vec.rs b/src/test/debug-info/boxed-vec.rs
index aa2a88afc46..2752d57d898 100644
--- a/src/test/debug-info/boxed-vec.rs
+++ b/src/test/debug-info/boxed-vec.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // compile-flags:-Z extra-debug-info
 // debugger:rbreak zzz
 // debugger:run
diff --git a/src/test/debug-info/by-value-self-argument-in-trait-impl.rs b/src/test/debug-info/by-value-self-argument-in-trait-impl.rs
index 2a5d75be8b3..3c9a41f4125 100644
--- a/src/test/debug-info/by-value-self-argument-in-trait-impl.rs
+++ b/src/test/debug-info/by-value-self-argument-in-trait-impl.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // compile-flags:-Z extra-debug-info
 // debugger:rbreak zzz
 // debugger:run
diff --git a/src/test/debug-info/destructured-fn-argument.rs b/src/test/debug-info/destructured-fn-argument.rs
index 3e139966ff1..0485cc82209 100644
--- a/src/test/debug-info/destructured-fn-argument.rs
+++ b/src/test/debug-info/destructured-fn-argument.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // compile-flags:-Z extra-debug-info
 // debugger:rbreak zzz
 // debugger:run
diff --git a/src/test/debug-info/managed-pointer-within-unique-vec.rs b/src/test/debug-info/managed-pointer-within-unique-vec.rs
index d4ec7094e8c..8baa1e2a29b 100644
--- a/src/test/debug-info/managed-pointer-within-unique-vec.rs
+++ b/src/test/debug-info/managed-pointer-within-unique-vec.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // compile-flags:-Z extra-debug-info
 // debugger:rbreak zzz
 // debugger:run
diff --git a/src/test/debug-info/managed-pointer-within-unique.rs b/src/test/debug-info/managed-pointer-within-unique.rs
index 9ea713c2982..50df9600121 100644
--- a/src/test/debug-info/managed-pointer-within-unique.rs
+++ b/src/test/debug-info/managed-pointer-within-unique.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // compile-flags:-Z extra-debug-info
 // debugger:set print pretty off
 // debugger:rbreak zzz
diff --git a/src/test/debug-info/recursive-struct.rs b/src/test/debug-info/recursive-struct.rs
index b8d510bd306..29b15ad91c5 100644
--- a/src/test/debug-info/recursive-struct.rs
+++ b/src/test/debug-info/recursive-struct.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // compile-flags:-Z extra-debug-info
 // debugger:set print pretty off
 // debugger:rbreak zzz
diff --git a/src/test/debug-info/trait-pointers.rs b/src/test/debug-info/trait-pointers.rs
index 4bd22c151e4..d93d2b30f81 100644
--- a/src/test/debug-info/trait-pointers.rs
+++ b/src/test/debug-info/trait-pointers.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // compile-flags:-Z extra-debug-info
 // debugger:run
 
diff --git a/src/test/run-fail/args-fail.rs b/src/test/run-fail/args-fail.rs
index b803d7488b0..dbcaf10ea6b 100644
--- a/src/test/run-fail/args-fail.rs
+++ b/src/test/run-fail/args-fail.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // error-pattern:meep
 fn f(_a: int, _b: int, _c: @int) { fail!("moop"); }
 
diff --git a/src/test/run-fail/borrowck-wg-fail-object-arg.rs b/src/test/run-fail/borrowck-wg-fail-object-arg.rs
index 1456f137338..4a5664d08b6 100644
--- a/src/test/run-fail/borrowck-wg-fail-object-arg.rs
+++ b/src/test/run-fail/borrowck-wg-fail-object-arg.rs
@@ -1,3 +1,5 @@
+#[feature(managed_boxes)];
+
 // error-pattern:borrowed
 
 trait Foo {
diff --git a/src/test/run-fail/borrowck-wg-fail-object.rs b/src/test/run-fail/borrowck-wg-fail-object.rs
index 73f2cf09552..9e32dbf6420 100644
--- a/src/test/run-fail/borrowck-wg-fail-object.rs
+++ b/src/test/run-fail/borrowck-wg-fail-object.rs
@@ -1,3 +1,5 @@
+#[feature(managed_boxes)];
+
 // error-pattern:borrowed
 
 trait Foo {
diff --git a/src/test/run-fail/borrowck-wg-fail.rs b/src/test/run-fail/borrowck-wg-fail.rs
index 201db14eb17..e1273381e93 100644
--- a/src/test/run-fail/borrowck-wg-fail.rs
+++ b/src/test/run-fail/borrowck-wg-fail.rs
@@ -1,3 +1,5 @@
+#[feature(managed_boxes)];
+
 // error-pattern:borrowed
 
 // Test that write guards trigger when mut box is frozen
diff --git a/src/test/run-fail/borrowck-wg-imm-then-mut.rs b/src/test/run-fail/borrowck-wg-imm-then-mut.rs
index fa82029855d..c41b9b37bb5 100644
--- a/src/test/run-fail/borrowck-wg-imm-then-mut.rs
+++ b/src/test/run-fail/borrowck-wg-imm-then-mut.rs
@@ -1,3 +1,5 @@
+#[feature(managed_boxes)];
+
 // error-pattern:borrowed
 
 // Test that if you imm borrow then mut borrow it fails.
diff --git a/src/test/run-fail/borrowck-wg-mut-then-imm.rs b/src/test/run-fail/borrowck-wg-mut-then-imm.rs
index 9d6b9587113..aceadb0459c 100644
--- a/src/test/run-fail/borrowck-wg-mut-then-imm.rs
+++ b/src/test/run-fail/borrowck-wg-mut-then-imm.rs
@@ -1,3 +1,5 @@
+#[feature(managed_boxes)];
+
 // error-pattern:borrowed
 
 // Test that if you mut borrow then imm borrow it fails.
diff --git a/src/test/run-fail/issue-2272.rs b/src/test/run-fail/issue-2272.rs
index 5ce89bc1814..21ebf06ca04 100644
--- a/src/test/run-fail/issue-2272.rs
+++ b/src/test/run-fail/issue-2272.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // error-pattern:explicit failure
 // Issue #2272 - unwind this without leaking the unique pointer
 
diff --git a/src/test/run-fail/unwind-box-fn-unique.rs b/src/test/run-fail/unwind-box-fn-unique.rs
index 30b54b3dfcc..1f1b57aa704 100644
--- a/src/test/run-fail/unwind-box-fn-unique.rs
+++ b/src/test/run-fail/unwind-box-fn-unique.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // error-pattern:fail
 
 fn failfn() {
diff --git a/src/test/run-fail/unwind-box-trait.rs b/src/test/run-fail/unwind-box-trait.rs
index 66dac6a98a9..2139508c9e4 100644
--- a/src/test/run-fail/unwind-box-trait.rs
+++ b/src/test/run-fail/unwind-box-trait.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // error-pattern:fail
 
 fn failfn() {
diff --git a/src/test/run-fail/unwind-initializer-indirect.rs b/src/test/run-fail/unwind-initializer-indirect.rs
index fd1ab88ff96..0ecc6765b8e 100644
--- a/src/test/run-fail/unwind-initializer-indirect.rs
+++ b/src/test/run-fail/unwind-initializer-indirect.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // error-pattern:fail
 
 fn f() -> @int { fail!(); }
diff --git a/src/test/run-fail/unwind-initializer.rs b/src/test/run-fail/unwind-initializer.rs
index 0d1584f3dc8..d0e5c7a7d02 100644
--- a/src/test/run-fail/unwind-initializer.rs
+++ b/src/test/run-fail/unwind-initializer.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // error-pattern:fail
 
 fn main() {
diff --git a/src/test/run-fail/unwind-lambda.rs b/src/test/run-fail/unwind-lambda.rs
index 65d9fce5ff5..4b95afc0ee2 100644
--- a/src/test/run-fail/unwind-lambda.rs
+++ b/src/test/run-fail/unwind-lambda.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // error-pattern:fail
 
 fn main() {
diff --git a/src/test/run-fail/unwind-move.rs b/src/test/run-fail/unwind-move.rs
index 8f1b34d17cd..69d2e1a1162 100644
--- a/src/test/run-fail/unwind-move.rs
+++ b/src/test/run-fail/unwind-move.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // error-pattern:fail
 fn f(_a: @int) {
     fail!();
diff --git a/src/test/run-fail/unwind-resource-fail.rs b/src/test/run-fail/unwind-resource-fail.rs
index 6526455b8e2..acba75aeef1 100644
--- a/src/test/run-fail/unwind-resource-fail.rs
+++ b/src/test/run-fail/unwind-resource-fail.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // error-pattern:squirrel
 
 struct r {
diff --git a/src/test/run-fail/unwind-resource-fail3.rs b/src/test/run-fail/unwind-resource-fail3.rs
index 231f6e7b7d5..39b0d67dc38 100644
--- a/src/test/run-fail/unwind-resource-fail3.rs
+++ b/src/test/run-fail/unwind-resource-fail3.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // error-pattern:quux
 
 struct faily_box {
diff --git a/src/test/run-fail/unwind-tup.rs b/src/test/run-fail/unwind-tup.rs
index 15fa3ceed53..2dd353f8e21 100644
--- a/src/test/run-fail/unwind-tup.rs
+++ b/src/test/run-fail/unwind-tup.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // error-pattern:fail
 
 fn fold_local() -> @~[int]{
diff --git a/src/test/run-fail/unwind-tup2.rs b/src/test/run-fail/unwind-tup2.rs
index 236ff817220..b86d7f11e85 100644
--- a/src/test/run-fail/unwind-tup2.rs
+++ b/src/test/run-fail/unwind-tup2.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // error-pattern:fail
 
 fn fold_local() -> @~[int]{
diff --git a/src/test/run-pass/alignment-gep-tup-like-1.rs b/src/test/run-pass/alignment-gep-tup-like-1.rs
index f1bc4e9a87f..6c4cc9de414 100644
--- a/src/test/run-pass/alignment-gep-tup-like-1.rs
+++ b/src/test/run-pass/alignment-gep-tup-like-1.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 struct pair<A,B> {
     a: A, b: B
 }
diff --git a/src/test/run-pass/alignment-gep-tup-like-2.rs b/src/test/run-pass/alignment-gep-tup-like-2.rs
index 5491baf3526..8f7f8c4fa58 100644
--- a/src/test/run-pass/alignment-gep-tup-like-2.rs
+++ b/src/test/run-pass/alignment-gep-tup-like-2.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 struct Pair<A,B> {
     a: A, b: B
 }
diff --git a/src/test/run-pass/autoderef-method-on-trait.rs b/src/test/run-pass/autoderef-method-on-trait.rs
index 9bc71517c1f..b3b09988cc3 100644
--- a/src/test/run-pass/autoderef-method-on-trait.rs
+++ b/src/test/run-pass/autoderef-method-on-trait.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 trait double {
     fn double(@self) -> uint;
 }
diff --git a/src/test/run-pass/autoderef-method-priority.rs b/src/test/run-pass/autoderef-method-priority.rs
index f9f78aa4882..fa124a70627 100644
--- a/src/test/run-pass/autoderef-method-priority.rs
+++ b/src/test/run-pass/autoderef-method-priority.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 trait double {
     fn double(self) -> uint;
 }
diff --git a/src/test/run-pass/autoderef-method-twice-but-not-thrice.rs b/src/test/run-pass/autoderef-method-twice-but-not-thrice.rs
index 299760289c2..036bbcd48a5 100644
--- a/src/test/run-pass/autoderef-method-twice-but-not-thrice.rs
+++ b/src/test/run-pass/autoderef-method-twice-but-not-thrice.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 trait double {
     fn double(@self) -> uint;
 }
diff --git a/src/test/run-pass/autoref-intermediate-types-issue-3585.rs b/src/test/run-pass/autoref-intermediate-types-issue-3585.rs
index 096e4378b3d..bad594bf4e4 100644
--- a/src/test/run-pass/autoref-intermediate-types-issue-3585.rs
+++ b/src/test/run-pass/autoref-intermediate-types-issue-3585.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 trait Foo {
     fn foo(&self) -> ~str;
 }
diff --git a/src/test/run-pass/borrowck-borrow-from-expr-block.rs b/src/test/run-pass/borrowck-borrow-from-expr-block.rs
index d6d440782e7..bc3078f88ea 100644
--- a/src/test/run-pass/borrowck-borrow-from-expr-block.rs
+++ b/src/test/run-pass/borrowck-borrow-from-expr-block.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 use std::borrow;
 use std::ptr;
 
diff --git a/src/test/run-pass/borrowck-preserve-box-in-arm-not-taken.rs b/src/test/run-pass/borrowck-preserve-box-in-arm-not-taken.rs
index a8e14b5297f..3f6bcb4d5b7 100644
--- a/src/test/run-pass/borrowck-preserve-box-in-arm-not-taken.rs
+++ b/src/test/run-pass/borrowck-preserve-box-in-arm-not-taken.rs
@@ -10,6 +10,8 @@
 
 // exec-env:RUST_POISON_ON_FREE=1
 
+#[feature(managed_boxes)];
+
 pub fn main() {
     let x: @mut @Option<~int> = @mut @None;
     match x {
diff --git a/src/test/run-pass/borrowck-preserve-box-sometimes-needed.rs b/src/test/run-pass/borrowck-preserve-box-sometimes-needed.rs
index 3f3534ca43e..dbd3e6302af 100644
--- a/src/test/run-pass/borrowck-preserve-box-sometimes-needed.rs
+++ b/src/test/run-pass/borrowck-preserve-box-sometimes-needed.rs
@@ -10,6 +10,8 @@
 
 // exec-env:RUST_POISON_ON_FREE=1
 
+#[feature(managed_boxes)];
+
 fn switcher(x: Option<@int>) {
     let mut x = x;
     match x {
diff --git a/src/test/run-pass/borrowck-root-while-cond-2.rs b/src/test/run-pass/borrowck-root-while-cond-2.rs
index ea165e53ceb..19b87584e2d 100644
--- a/src/test/run-pass/borrowck-root-while-cond-2.rs
+++ b/src/test/run-pass/borrowck-root-while-cond-2.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 struct F { f: @G }
 struct G { g: ~[int] }
 
diff --git a/src/test/run-pass/borrowck-root-while-cond.rs b/src/test/run-pass/borrowck-root-while-cond.rs
index 77e4f512ebf..35ab64584f5 100644
--- a/src/test/run-pass/borrowck-root-while-cond.rs
+++ b/src/test/run-pass/borrowck-root-while-cond.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 fn borrow<'r,T>(x: &'r T) -> &'r T {x}
 
 struct Rec { f: @int }
diff --git a/src/test/run-pass/box-in-tup.rs b/src/test/run-pass/box-in-tup.rs
index 315b69f3f27..94faa9390cd 100644
--- a/src/test/run-pass/box-in-tup.rs
+++ b/src/test/run-pass/box-in-tup.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 pub fn main() {
     let i: (@int, int) = (@10, 10);
     let (_a, _) = i;
diff --git a/src/test/run-pass/box-inside-if.rs b/src/test/run-pass/box-inside-if.rs
index ea2b7d58a11..baec382f3ca 100644
--- a/src/test/run-pass/box-inside-if.rs
+++ b/src/test/run-pass/box-inside-if.rs
@@ -8,9 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
-
-// -*- rust -*-
+#[feature(managed_boxes)];
 
 fn some_box(x: int) -> @int { return @x; }
 
diff --git a/src/test/run-pass/box-inside-if2.rs b/src/test/run-pass/box-inside-if2.rs
index 53b46847060..acc494a5665 100644
--- a/src/test/run-pass/box-inside-if2.rs
+++ b/src/test/run-pass/box-inside-if2.rs
@@ -8,9 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
-
-// -*- rust -*-
+#[feature(managed_boxes)];
 
 fn some_box(x: int) -> @int { return @x; }
 
diff --git a/src/test/run-pass/box-pattern.rs b/src/test/run-pass/box-pattern.rs
index 89f62adcdee..c7d848c7c91 100644
--- a/src/test/run-pass/box-pattern.rs
+++ b/src/test/run-pass/box-pattern.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 struct Foo {a: int, b: uint}
 enum bar { u(@Foo), w(int), }
 
diff --git a/src/test/run-pass/box-unbox.rs b/src/test/run-pass/box-unbox.rs
index 2e92395d549..a5ba89271c4 100644
--- a/src/test/run-pass/box-unbox.rs
+++ b/src/test/run-pass/box-unbox.rs
@@ -8,7 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
+#[feature(managed_boxes)];
 
 struct Box<T> {c: @T}
 
diff --git a/src/test/run-pass/box.rs b/src/test/run-pass/box.rs
index 4c394a601b4..f3acc127246 100644
--- a/src/test/run-pass/box.rs
+++ b/src/test/run-pass/box.rs
@@ -8,6 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
+#[feature(managed_boxes)];
 
 pub fn main() { let x: @int = @10; assert!((*x == 10)); }
diff --git a/src/test/run-pass/boxed-class-type-substitution.rs b/src/test/run-pass/boxed-class-type-substitution.rs
index 81bd3b6c139..92d82afb887 100644
--- a/src/test/run-pass/boxed-class-type-substitution.rs
+++ b/src/test/run-pass/boxed-class-type-substitution.rs
@@ -11,6 +11,8 @@
 // Regression test that rustc doesn't recurse infinitely substituting
 // the boxed type parameter
 
+#[feature(managed_boxes)];
+
 struct Tree<T> {
     parent: Option<T>
 }
diff --git a/src/test/run-pass/boxed-trait-with-vstore.rs b/src/test/run-pass/boxed-trait-with-vstore.rs
index 1d901d42742..a55f5f97d08 100644
--- a/src/test/run-pass/boxed-trait-with-vstore.rs
+++ b/src/test/run-pass/boxed-trait-with-vstore.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 trait Foo {
     fn foo(@self);
 }
diff --git a/src/test/run-pass/cast-mutable-trait.rs b/src/test/run-pass/cast-mutable-trait.rs
index ce026d3e2e0..09d10502b84 100644
--- a/src/test/run-pass/cast-mutable-trait.rs
+++ b/src/test/run-pass/cast-mutable-trait.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 trait T {
     fn foo(@mut self);
 }
diff --git a/src/test/run-pass/cci_nested_exe.rs b/src/test/run-pass/cci_nested_exe.rs
index 86641027e78..58f1950e489 100644
--- a/src/test/run-pass/cci_nested_exe.rs
+++ b/src/test/run-pass/cci_nested_exe.rs
@@ -11,7 +11,7 @@
 // xfail-fast - check-fast doesn't understand aux-build
 // aux-build:cci_nested_lib.rs
 
-#[feature(globs)];
+#[feature(globs, managed_boxes)];
 
 extern mod cci_nested_lib;
 use cci_nested_lib::*;
diff --git a/src/test/run-pass/class-cast-to-trait-cross-crate-2.rs b/src/test/run-pass/class-cast-to-trait-cross-crate-2.rs
index 52ba1359541..258ed4fb30b 100644
--- a/src/test/run-pass/class-cast-to-trait-cross-crate-2.rs
+++ b/src/test/run-pass/class-cast-to-trait-cross-crate-2.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // xfail-fast
 // aux-build:cci_class_cast.rs
 extern mod cci_class_cast;
diff --git a/src/test/run-pass/class-cast-to-trait-multiple-types.rs b/src/test/run-pass/class-cast-to-trait-multiple-types.rs
index a259ee8ffde..e44d7c41931 100644
--- a/src/test/run-pass/class-cast-to-trait-multiple-types.rs
+++ b/src/test/run-pass/class-cast-to-trait-multiple-types.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 trait noisy {
   fn speak(&self) -> int;
 }
diff --git a/src/test/run-pass/class-cast-to-trait.rs b/src/test/run-pass/class-cast-to-trait.rs
index 737253a956f..cc723f8037d 100644
--- a/src/test/run-pass/class-cast-to-trait.rs
+++ b/src/test/run-pass/class-cast-to-trait.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 trait noisy {
   fn speak(&mut self);
 }
diff --git a/src/test/run-pass/class-separate-impl.rs b/src/test/run-pass/class-separate-impl.rs
index e16aa706049..eb7e608a9f1 100644
--- a/src/test/run-pass/class-separate-impl.rs
+++ b/src/test/run-pass/class-separate-impl.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // xfail-fast
 struct cat {
     priv meows : uint,
diff --git a/src/test/run-pass/classes-self-referential.rs b/src/test/run-pass/classes-self-referential.rs
index 4f2499eced4..767581496c3 100644
--- a/src/test/run-pass/classes-self-referential.rs
+++ b/src/test/run-pass/classes-self-referential.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 struct kitten {
     cat: Option<cat>,
 }
diff --git a/src/test/run-pass/cleanup-copy-mode.rs b/src/test/run-pass/cleanup-copy-mode.rs
index 70f70430bb9..3b1ccf50544 100644
--- a/src/test/run-pass/cleanup-copy-mode.rs
+++ b/src/test/run-pass/cleanup-copy-mode.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 use std::task;
 
 fn adder(x: @int, y: @int) -> int { return *x + *y; }
diff --git a/src/test/run-pass/close-over-big-then-small-data.rs b/src/test/run-pass/close-over-big-then-small-data.rs
index 40d8cda9c41..a1624e206ca 100644
--- a/src/test/run-pass/close-over-big-then-small-data.rs
+++ b/src/test/run-pass/close-over-big-then-small-data.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // If we use GEPi rathern than GEP_tup_like when
 // storing closure data (as we used to do), the u64 would
 // overwrite the u16.
diff --git a/src/test/run-pass/crate-method-reexport-grrrrrrr.rs b/src/test/run-pass/crate-method-reexport-grrrrrrr.rs
index ac79a2256fd..6b71f553307 100644
--- a/src/test/run-pass/crate-method-reexport-grrrrrrr.rs
+++ b/src/test/run-pass/crate-method-reexport-grrrrrrr.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // This is a regression test that the metadata for the
 // name_pool::methods impl in the other crate is reachable from this
 // crate.
diff --git a/src/test/run-pass/cycle-collection.rs b/src/test/run-pass/cycle-collection.rs
index 0e9be022113..c7c2daadec2 100644
--- a/src/test/run-pass/cycle-collection.rs
+++ b/src/test/run-pass/cycle-collection.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 enum taggy {
     cons(@mut taggy),
     nil,
diff --git a/src/test/run-pass/cycle-collection2.rs b/src/test/run-pass/cycle-collection2.rs
index 46c0c52e0c7..f10592bf800 100644
--- a/src/test/run-pass/cycle-collection2.rs
+++ b/src/test/run-pass/cycle-collection2.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 struct foo {
     z: Option<@Invokable>,
 }
diff --git a/src/test/run-pass/deref.rs b/src/test/run-pass/deref.rs
index 9951531d2d1..104d3302b83 100644
--- a/src/test/run-pass/deref.rs
+++ b/src/test/run-pass/deref.rs
@@ -8,7 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
+#[feature(managed_boxes)];
 
 pub fn main() {
     let x: @int = @10;
diff --git a/src/test/run-pass/deriving-zero.rs b/src/test/run-pass/deriving-zero.rs
index 2c8271df03b..0cff8e8a3f8 100644
--- a/src/test/run-pass/deriving-zero.rs
+++ b/src/test/run-pass/deriving-zero.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 use std::util;
 use std::num::Zero;
 
diff --git a/src/test/run-pass/double-unbox.rs b/src/test/run-pass/double-unbox.rs
index c6ea32ba290..2f2cd5c1863 100644
--- a/src/test/run-pass/double-unbox.rs
+++ b/src/test/run-pass/double-unbox.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 struct Quux {
     bar: int
 }
diff --git a/src/test/run-pass/drop-on-empty-block-exit.rs b/src/test/run-pass/drop-on-empty-block-exit.rs
index 07a73e0d8a9..1f13906110f 100644
--- a/src/test/run-pass/drop-on-empty-block-exit.rs
+++ b/src/test/run-pass/drop-on-empty-block-exit.rs
@@ -8,7 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
+#[feature(managed_boxes)];
 
 enum t { foo(@int), }
 
diff --git a/src/test/run-pass/enum-nullable-simplifycfg-misopt.rs b/src/test/run-pass/enum-nullable-simplifycfg-misopt.rs
index 4764dbb9417..6a6f2ba0d53 100644
--- a/src/test/run-pass/enum-nullable-simplifycfg-misopt.rs
+++ b/src/test/run-pass/enum-nullable-simplifycfg-misopt.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 /*!
  * This is a regression test for a bug in LLVM, fixed in upstream r179587,
  * where the switch instructions generated for destructuring enums
diff --git a/src/test/run-pass/estr-shared.rs b/src/test/run-pass/estr-shared.rs
index 20698a379e1..73837a46df7 100644
--- a/src/test/run-pass/estr-shared.rs
+++ b/src/test/run-pass/estr-shared.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 pub fn main() {
     let _x : @str = @"hello";
 }
diff --git a/src/test/run-pass/evec-internal-boxes.rs b/src/test/run-pass/evec-internal-boxes.rs
index c872ee5a9c5..7ba8a3de244 100644
--- a/src/test/run-pass/evec-internal-boxes.rs
+++ b/src/test/run-pass/evec-internal-boxes.rs
@@ -8,6 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
 #[allow(dead_assignment)];
 
 pub fn main() {
diff --git a/src/test/run-pass/explicit-self-objects-box.rs b/src/test/run-pass/explicit-self-objects-box.rs
index 9010dd34ffe..faf2a61ca78 100644
--- a/src/test/run-pass/explicit-self-objects-box.rs
+++ b/src/test/run-pass/explicit-self-objects-box.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 trait Foo {
     fn f(@self);
 }
diff --git a/src/test/run-pass/explicit-self-objects-simple.rs b/src/test/run-pass/explicit-self-objects-simple.rs
index 6092c386dbb..ca64516a7ef 100644
--- a/src/test/run-pass/explicit-self-objects-simple.rs
+++ b/src/test/run-pass/explicit-self-objects-simple.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 trait Foo {
     fn f(&self);
 }
diff --git a/src/test/run-pass/explicit-self.rs b/src/test/run-pass/explicit-self.rs
index c090ca3960b..65e6e384c5f 100644
--- a/src/test/run-pass/explicit-self.rs
+++ b/src/test/run-pass/explicit-self.rs
@@ -8,6 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
 
 static tau: f64 = 2.0*3.14159265358979323;
 
diff --git a/src/test/run-pass/export-non-interference.rs b/src/test/run-pass/export-non-interference.rs
index 67f8191ae58..66c51910ed0 100644
--- a/src/test/run-pass/export-non-interference.rs
+++ b/src/test/run-pass/export-non-interference.rs
@@ -8,6 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
 
 enum list_cell<T> { cons(@list_cell<T>), nil }
 
diff --git a/src/test/run-pass/expr-block-generic-box1.rs b/src/test/run-pass/expr-block-generic-box1.rs
index b4ca5e31e61..04c96bb2b98 100644
--- a/src/test/run-pass/expr-block-generic-box1.rs
+++ b/src/test/run-pass/expr-block-generic-box1.rs
@@ -8,10 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
 
-
-
-// -*- rust -*-
 type compare<T> = &'static fn(@T, @T) -> bool;
 
 fn test_generic<T>(expected: @T, eq: compare<T>) {
diff --git a/src/test/run-pass/expr-block-generic-box2.rs b/src/test/run-pass/expr-block-generic-box2.rs
index cfa59d68635..086a5b12292 100644
--- a/src/test/run-pass/expr-block-generic-box2.rs
+++ b/src/test/run-pass/expr-block-generic-box2.rs
@@ -9,6 +9,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // xfail-fast
 
 type compare<'self, T> = &'self fn(T, T) -> bool;
diff --git a/src/test/run-pass/expr-elseif-ref.rs b/src/test/run-pass/expr-elseif-ref.rs
index 669acf1feb4..105c2cc0805 100644
--- a/src/test/run-pass/expr-elseif-ref.rs
+++ b/src/test/run-pass/expr-elseif-ref.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // Make sure we drop the refs of the temporaries needed to return the
 // values from the else if branch
 pub fn main() {
diff --git a/src/test/run-pass/expr-if-generic-box1.rs b/src/test/run-pass/expr-if-generic-box1.rs
index 8bf6e658408..e6039d0601e 100644
--- a/src/test/run-pass/expr-if-generic-box1.rs
+++ b/src/test/run-pass/expr-if-generic-box1.rs
@@ -8,10 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
 
-
-
-// -*- rust -*-
 type compare<T> = &'static fn(@T, @T) -> bool;
 
 fn test_generic<T>(expected: @T, not_expected: @T, eq: compare<T>) {
diff --git a/src/test/run-pass/expr-if-generic-box2.rs b/src/test/run-pass/expr-if-generic-box2.rs
index 2c4707a87d5..b8d872742ab 100644
--- a/src/test/run-pass/expr-if-generic-box2.rs
+++ b/src/test/run-pass/expr-if-generic-box2.rs
@@ -8,8 +8,9 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // xfail-fast
-// -*- rust -*-
 
 type compare<T> = &'static fn(T, T) -> bool;
 
diff --git a/src/test/run-pass/expr-match-generic-box1.rs b/src/test/run-pass/expr-match-generic-box1.rs
index 064e3343620..9220b0d697a 100644
--- a/src/test/run-pass/expr-match-generic-box1.rs
+++ b/src/test/run-pass/expr-match-generic-box1.rs
@@ -8,10 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
 
-
-
-// -*- rust -*-
 type compare<T> = &'static fn(@T, @T) -> bool;
 
 fn test_generic<T>(expected: @T, eq: compare<T>) {
diff --git a/src/test/run-pass/expr-match-generic-box2.rs b/src/test/run-pass/expr-match-generic-box2.rs
index bca06ebdbb5..430bd0f52c3 100644
--- a/src/test/run-pass/expr-match-generic-box2.rs
+++ b/src/test/run-pass/expr-match-generic-box2.rs
@@ -8,8 +8,9 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // xfail-fast
-// -*- rust -*-
 
 type compare<T> = &'static fn(T, T) -> bool;
 
diff --git a/src/test/run-pass/expr-repeat-vstore.rs b/src/test/run-pass/expr-repeat-vstore.rs
index 48bce39970f..8a498563359 100644
--- a/src/test/run-pass/expr-repeat-vstore.rs
+++ b/src/test/run-pass/expr-repeat-vstore.rs
@@ -1,3 +1,5 @@
+#[feature(managed_boxes)];
+
 use std::io::println;
 
 pub fn main() {
diff --git a/src/test/run-pass/exterior.rs b/src/test/run-pass/exterior.rs
index 43f14b790ac..27f30fb8ba9 100644
--- a/src/test/run-pass/exterior.rs
+++ b/src/test/run-pass/exterior.rs
@@ -8,10 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
 
-
-
-// -*- rust -*-
 struct Point {x: int, y: int, z: int}
 
 fn f(p: @mut Point) { assert!((p.z == 12)); p.z = 13; assert!((p.z == 13)); }
diff --git a/src/test/run-pass/generic-alias-box.rs b/src/test/run-pass/generic-alias-box.rs
index 0ba40fe063d..72427b6c539 100644
--- a/src/test/run-pass/generic-alias-box.rs
+++ b/src/test/run-pass/generic-alias-box.rs
@@ -8,7 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
+#[feature(managed_boxes)];
 
 fn id<T>(t: T) -> T { return t; }
 
diff --git a/src/test/run-pass/generic-box.rs b/src/test/run-pass/generic-box.rs
index ce1582b3c3c..b8a20060157 100644
--- a/src/test/run-pass/generic-box.rs
+++ b/src/test/run-pass/generic-box.rs
@@ -8,7 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
+#[feature(managed_boxes)];
 
 fn box<T:'static>(x: Box<T>) -> @Box<T> { return @x; }
 
diff --git a/src/test/run-pass/generic-drop-glue.rs b/src/test/run-pass/generic-drop-glue.rs
index 9e0dbfba0e7..6e097666bd5 100644
--- a/src/test/run-pass/generic-drop-glue.rs
+++ b/src/test/run-pass/generic-drop-glue.rs
@@ -8,6 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
 
 struct Pair { x: @int, y: @int }
 
diff --git a/src/test/run-pass/generic-exterior-box.rs b/src/test/run-pass/generic-exterior-box.rs
index 795c73007d5..1382c019189 100644
--- a/src/test/run-pass/generic-exterior-box.rs
+++ b/src/test/run-pass/generic-exterior-box.rs
@@ -8,7 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
+#[feature(managed_boxes)];
 
 struct Recbox<T> {x: @T}
 
diff --git a/src/test/run-pass/generic-fn-box.rs b/src/test/run-pass/generic-fn-box.rs
index a203b6b3ada..6eccdb93d8c 100644
--- a/src/test/run-pass/generic-fn-box.rs
+++ b/src/test/run-pass/generic-fn-box.rs
@@ -8,7 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
+#[feature(managed_boxes)];
 
 fn f<T>(x: @T) -> @T { return x; }
 
diff --git a/src/test/run-pass/generic-ivec.rs b/src/test/run-pass/generic-ivec.rs
index aac390dc6ec..e4f545afda6 100644
--- a/src/test/run-pass/generic-ivec.rs
+++ b/src/test/run-pass/generic-ivec.rs
@@ -8,5 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 fn f<T>(_v: @T) { }
 pub fn main() { f(@~[1, 2, 3, 4, 5]); }
diff --git a/src/test/run-pass/generic-object.rs b/src/test/run-pass/generic-object.rs
index 1e532caaf04..bff51d32333 100644
--- a/src/test/run-pass/generic-object.rs
+++ b/src/test/run-pass/generic-object.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 trait Foo<T> {
     fn get(&self) -> T;
 }
diff --git a/src/test/run-pass/generic-recursive-tag.rs b/src/test/run-pass/generic-recursive-tag.rs
index 6111acfe42c..84d15799fa5 100644
--- a/src/test/run-pass/generic-recursive-tag.rs
+++ b/src/test/run-pass/generic-recursive-tag.rs
@@ -8,7 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
+#[feature(managed_boxes)];
 
 enum list<T> { cons(@T, @list<T>), nil, }
 
diff --git a/src/test/run-pass/generic-tag.rs b/src/test/run-pass/generic-tag.rs
index 16836b0d7b8..a0ba2a56d78 100644
--- a/src/test/run-pass/generic-tag.rs
+++ b/src/test/run-pass/generic-tag.rs
@@ -8,6 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
 #[allow(dead_assignment)];
 #[allow(unused_variable)];
 
diff --git a/src/test/run-pass/init-res-into-things.rs b/src/test/run-pass/init-res-into-things.rs
index fb6204866df..5181ec6f71d 100644
--- a/src/test/run-pass/init-res-into-things.rs
+++ b/src/test/run-pass/init-res-into-things.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // Resources can't be copied, but storing into data structures counts
 // as a move unless the stored thing is used afterwards.
 
diff --git a/src/test/run-pass/issue-2288.rs b/src/test/run-pass/issue-2288.rs
index 57d6fed041a..6ba253ca461 100644
--- a/src/test/run-pass/issue-2288.rs
+++ b/src/test/run-pass/issue-2288.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 trait clam<A> {
   fn chowder(&self, y: A);
 }
diff --git a/src/test/run-pass/issue-2380-b.rs b/src/test/run-pass/issue-2380-b.rs
index d61622e6b0f..0c41d071ab0 100644
--- a/src/test/run-pass/issue-2380-b.rs
+++ b/src/test/run-pass/issue-2380-b.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // xfail-fast
 // aux-build:issue-2380.rs
 
diff --git a/src/test/run-pass/issue-2631-b.rs b/src/test/run-pass/issue-2631-b.rs
index 71aa11014c1..bc76fa74dbd 100644
--- a/src/test/run-pass/issue-2631-b.rs
+++ b/src/test/run-pass/issue-2631-b.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // xfail-fast
 // aux-build:issue-2631-a.rs
 
diff --git a/src/test/run-pass/issue-2734.rs b/src/test/run-pass/issue-2734.rs
index 319146d0a81..4b932e2e57e 100644
--- a/src/test/run-pass/issue-2734.rs
+++ b/src/test/run-pass/issue-2734.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 trait hax { }
 impl<A> hax for A { }
 
diff --git a/src/test/run-pass/issue-2735-2.rs b/src/test/run-pass/issue-2735-2.rs
index 3be634c1e58..85b6e80be7c 100644
--- a/src/test/run-pass/issue-2735-2.rs
+++ b/src/test/run-pass/issue-2735-2.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // This test should behave exactly like issue-2735-3
 struct defer {
     b: @mut bool,
diff --git a/src/test/run-pass/issue-2735-3.rs b/src/test/run-pass/issue-2735-3.rs
index 8999ffd5f7f..401a43f8b25 100644
--- a/src/test/run-pass/issue-2735-3.rs
+++ b/src/test/run-pass/issue-2735-3.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // This test should behave exactly like issue-2735-2
 struct defer {
     b: @mut bool,
diff --git a/src/test/run-pass/issue-2735.rs b/src/test/run-pass/issue-2735.rs
index 9a5a366c744..b1c357538ab 100644
--- a/src/test/run-pass/issue-2735.rs
+++ b/src/test/run-pass/issue-2735.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 trait hax { }
 impl<A> hax for A { }
 
diff --git a/src/test/run-pass/issue-2904.rs b/src/test/run-pass/issue-2904.rs
index 328ea167d1e..0ef9e7108ae 100644
--- a/src/test/run-pass/issue-2904.rs
+++ b/src/test/run-pass/issue-2904.rs
@@ -10,6 +10,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 /// Map representation
 
 extern mod extra;
diff --git a/src/test/run-pass/issue-2935.rs b/src/test/run-pass/issue-2935.rs
index c1f4e1e49aa..269093c010c 100644
--- a/src/test/run-pass/issue-2935.rs
+++ b/src/test/run-pass/issue-2935.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 //type t = { a: int };
 // type t = { a: bool };
 type t = bool;
diff --git a/src/test/run-pass/issue-3121.rs b/src/test/run-pass/issue-3121.rs
index 206dc383cb3..20e5b768d32 100644
--- a/src/test/run-pass/issue-3121.rs
+++ b/src/test/run-pass/issue-3121.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 enum side { mayo, catsup, vinegar }
 enum order { hamburger, fries(side), shake }
 enum meal { to_go(order), for_here(order) }
diff --git a/src/test/run-pass/issue-3447.rs b/src/test/run-pass/issue-3447.rs
index 64483ab80a4..7ae3e43c579 100644
--- a/src/test/run-pass/issue-3447.rs
+++ b/src/test/run-pass/issue-3447.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 static S: &'static str = "str";
 
 struct list<T> {
diff --git a/src/test/run-pass/issue-3556.rs b/src/test/run-pass/issue-3556.rs
index f058a5cbfd1..2d4e128f623 100644
--- a/src/test/run-pass/issue-3556.rs
+++ b/src/test/run-pass/issue-3556.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 extern mod extra;
 
 use std::io::WriterUtil;
diff --git a/src/test/run-pass/issue-3702.rs b/src/test/run-pass/issue-3702.rs
index 7d65d6e984c..863414d7da0 100644
--- a/src/test/run-pass/issue-3702.rs
+++ b/src/test/run-pass/issue-3702.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 pub fn main() {
   trait Text {
     fn to_str(&self) -> ~str;
diff --git a/src/test/run-pass/issue-3794.rs b/src/test/run-pass/issue-3794.rs
index 61e6bd264e2..f6c531334c9 100644
--- a/src/test/run-pass/issue-3794.rs
+++ b/src/test/run-pass/issue-3794.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 trait T {
     fn print(&self);
 }
diff --git a/src/test/run-pass/issue-5275.rs b/src/test/run-pass/issue-5275.rs
index 8f0d01fab40..088376c1068 100644
--- a/src/test/run-pass/issue-5275.rs
+++ b/src/test/run-pass/issue-5275.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // Regression test for issue #5275
 
 fn foo(self_: &A) -> int {
diff --git a/src/test/run-pass/issue-5884.rs b/src/test/run-pass/issue-5884.rs
index 519211bdaf2..98b9d5e8a06 100644
--- a/src/test/run-pass/issue-5884.rs
+++ b/src/test/run-pass/issue-5884.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 pub struct Foo {
     a: int,
 }
diff --git a/src/test/run-pass/issue-7673-cast-generically-implemented-trait.rs b/src/test/run-pass/issue-7673-cast-generically-implemented-trait.rs
index af8b453856b..2e59111e689 100644
--- a/src/test/run-pass/issue-7673-cast-generically-implemented-trait.rs
+++ b/src/test/run-pass/issue-7673-cast-generically-implemented-trait.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 /*
 
 #7673 Polymorphically creating traits barely works
diff --git a/src/test/run-pass/issue-979.rs b/src/test/run-pass/issue-979.rs
index 4c4f19d5166..08d8abc1d50 100644
--- a/src/test/run-pass/issue-979.rs
+++ b/src/test/run-pass/issue-979.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 struct r {
   b: @mut int,
 }
diff --git a/src/test/run-pass/issue-980.rs b/src/test/run-pass/issue-980.rs
index e2e5dfcc7d5..2f94dc77690 100644
--- a/src/test/run-pass/issue-980.rs
+++ b/src/test/run-pass/issue-980.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 enum maybe_pointy {
     no_pointy,
     yes_pointy(@mut Pointy),
diff --git a/src/test/run-pass/kindck-owned-trait-contains-1.rs b/src/test/run-pass/kindck-owned-trait-contains-1.rs
index 29a89a65a9b..dab8a83ea36 100644
--- a/src/test/run-pass/kindck-owned-trait-contains-1.rs
+++ b/src/test/run-pass/kindck-owned-trait-contains-1.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 trait repeat<A> { fn get(&self) -> A; }
 
 impl<A:Clone + 'static> repeat<A> for @A {
diff --git a/src/test/run-pass/leak-box-as-tydesc.rs b/src/test/run-pass/leak-box-as-tydesc.rs
index 0e266c2818c..e676160603a 100644
--- a/src/test/run-pass/leak-box-as-tydesc.rs
+++ b/src/test/run-pass/leak-box-as-tydesc.rs
@@ -8,7 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
+#[feature(managed_boxes)];
 
 fn leaky<T>(_t: T) { }
 
diff --git a/src/test/run-pass/leak-tag-copy.rs b/src/test/run-pass/leak-tag-copy.rs
index 93e2fcd8249..a3d2b69f868 100644
--- a/src/test/run-pass/leak-tag-copy.rs
+++ b/src/test/run-pass/leak-tag-copy.rs
@@ -8,6 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
 #[allow(dead_assignment)];
 #[allow(unused_variable)];
 
diff --git a/src/test/run-pass/let-destruct-fresh-mem.rs b/src/test/run-pass/let-destruct-fresh-mem.rs
index 13c12a77fd9..dd9fa9ce393 100644
--- a/src/test/run-pass/let-destruct-fresh-mem.rs
+++ b/src/test/run-pass/let-destruct-fresh-mem.rs
@@ -8,6 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
 #[allow(dead_assignment)];
 
 struct X { x: int, y: @A }
diff --git a/src/test/run-pass/list.rs b/src/test/run-pass/list.rs
index b8a9d2ee9e3..e388aede84a 100644
--- a/src/test/run-pass/list.rs
+++ b/src/test/run-pass/list.rs
@@ -8,10 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
 
-
-
-// -*- rust -*-
 enum list { cons(int, @list), nil, }
 
 pub fn main() { cons(10, @cons(11, @cons(12, @nil))); }
diff --git a/src/test/run-pass/log-linearized.rs b/src/test/run-pass/log-linearized.rs
index 42a0020fad1..e4dd3b56fca 100644
--- a/src/test/run-pass/log-linearized.rs
+++ b/src/test/run-pass/log-linearized.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // Tests that shapes respect linearize_ty_params().
 
 enum option<T> {
diff --git a/src/test/run-pass/match-pattern-drop.rs b/src/test/run-pass/match-pattern-drop.rs
index 34d6597c62d..e0735e7ad24 100644
--- a/src/test/run-pass/match-pattern-drop.rs
+++ b/src/test/run-pass/match-pattern-drop.rs
@@ -8,9 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
 
-
-// -*- rust -*-
 enum t { make_t(@int), clam, }
 
 fn foo(s: @int) {
diff --git a/src/test/run-pass/mlist.rs b/src/test/run-pass/mlist.rs
index cfb1db49465..9fba629be2a 100644
--- a/src/test/run-pass/mlist.rs
+++ b/src/test/run-pass/mlist.rs
@@ -9,6 +9,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 enum mlist { cons(int, @mlist), nil, }
 
 pub fn main() { cons(10, @cons(11, @cons(12, @nil))); }
diff --git a/src/test/run-pass/monomorphized-callees-with-ty-params-3314.rs b/src/test/run-pass/monomorphized-callees-with-ty-params-3314.rs
index 3146c2a9499..0259c3955d8 100644
--- a/src/test/run-pass/monomorphized-callees-with-ty-params-3314.rs
+++ b/src/test/run-pass/monomorphized-callees-with-ty-params-3314.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 extern mod extra;
 
 use std::io;
diff --git a/src/test/run-pass/move-1.rs b/src/test/run-pass/move-1.rs
index 5d3b25ebd7e..c3335a0d455 100644
--- a/src/test/run-pass/move-1.rs
+++ b/src/test/run-pass/move-1.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 struct Triple { x: int, y: int, z: int }
 
 fn test(x: bool, foo: @Triple) -> int {
diff --git a/src/test/run-pass/move-3.rs b/src/test/run-pass/move-3.rs
index c9e480d3d71..e915cf6aed7 100644
--- a/src/test/run-pass/move-3.rs
+++ b/src/test/run-pass/move-3.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 extern mod extra;
 
 struct Triple { x: int, y: int, z: int }
diff --git a/src/test/run-pass/move-4.rs b/src/test/run-pass/move-4.rs
index 2f0f256ba78..ec66e72ac69 100644
--- a/src/test/run-pass/move-4.rs
+++ b/src/test/run-pass/move-4.rs
@@ -8,6 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
 
 extern mod extra;
 
diff --git a/src/test/run-pass/move-arg-2.rs b/src/test/run-pass/move-arg-2.rs
index fc909da8b03..18cee34c25c 100644
--- a/src/test/run-pass/move-arg-2.rs
+++ b/src/test/run-pass/move-arg-2.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 fn test(foo: @~[int]) { assert!((foo[0] == 10)); }
 
 pub fn main() {
diff --git a/src/test/run-pass/mutable-vec-drop.rs b/src/test/run-pass/mutable-vec-drop.rs
index 5e05722053d..2a04ca4ccd2 100644
--- a/src/test/run-pass/mutable-vec-drop.rs
+++ b/src/test/run-pass/mutable-vec-drop.rs
@@ -8,6 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
 #[allow(unused_mut)];
 
 struct Pair { a: int, b: int}
diff --git a/src/test/run-pass/mutual-recursion-group.rs b/src/test/run-pass/mutual-recursion-group.rs
index cf007e99d38..6698ed27fd7 100644
--- a/src/test/run-pass/mutual-recursion-group.rs
+++ b/src/test/run-pass/mutual-recursion-group.rs
@@ -8,10 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
 
-
-
-// -*- rust -*-
 enum colour { red, green, blue, }
 
 enum tree { children(@list), leaf(colour), }
diff --git a/src/test/run-pass/nested-patterns.rs b/src/test/run-pass/nested-patterns.rs
index d901a625e1d..95f97029089 100644
--- a/src/test/run-pass/nested-patterns.rs
+++ b/src/test/run-pass/nested-patterns.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 struct A { a: int, b: @int }
 struct B { a: int, b: C }
 struct D { a: int, d: C }
diff --git a/src/test/run-pass/new-vstore-mut-box-syntax.rs b/src/test/run-pass/new-vstore-mut-box-syntax.rs
index 4792caf10c9..4a2756f5446 100644
--- a/src/test/run-pass/new-vstore-mut-box-syntax.rs
+++ b/src/test/run-pass/new-vstore-mut-box-syntax.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 pub fn main() {
     let _x: @mut [int] = @mut [ 1, 2, 3 ];
 
diff --git a/src/test/run-pass/newtype-struct-drop-run.rs b/src/test/run-pass/newtype-struct-drop-run.rs
index 54c4c06c548..8d1333941f7 100644
--- a/src/test/run-pass/newtype-struct-drop-run.rs
+++ b/src/test/run-pass/newtype-struct-drop-run.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // Make sure the destructor is run for newtype structs.
 
 struct Foo(@mut int);
diff --git a/src/test/run-pass/non-boolean-pure-fns.rs b/src/test/run-pass/non-boolean-pure-fns.rs
index ed543458931..408c6c037cc 100644
--- a/src/test/run-pass/non-boolean-pure-fns.rs
+++ b/src/test/run-pass/non-boolean-pure-fns.rs
@@ -10,6 +10,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 extern mod extra;
 
 use extra::list::{List, Cons, Nil, head, is_empty};
diff --git a/src/test/run-pass/objects-coerce-from-managed-to-borrowed.rs b/src/test/run-pass/objects-coerce-from-managed-to-borrowed.rs
index 40c854879bf..f0955ab8efa 100644
--- a/src/test/run-pass/objects-coerce-from-managed-to-borrowed.rs
+++ b/src/test/run-pass/objects-coerce-from-managed-to-borrowed.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // Test that we can coerce an `@Object` to an `&Object`
 
 trait Foo {
diff --git a/src/test/run-pass/objects-owned-object-borrowed-method-header.rs b/src/test/run-pass/objects-owned-object-borrowed-method-header.rs
index baef20944f7..d3893c4f976 100644
--- a/src/test/run-pass/objects-owned-object-borrowed-method-header.rs
+++ b/src/test/run-pass/objects-owned-object-borrowed-method-header.rs
@@ -10,6 +10,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // Test invoked `&self` methods on owned objects where the values
 // closed over contain managed values. This implies that the ~ boxes
 // will have headers that must be skipped over.
diff --git a/src/test/run-pass/option-unwrap.rs b/src/test/run-pass/option-unwrap.rs
index 66cd7f2b55f..ab9d5b9d2bf 100644
--- a/src/test/run-pass/option-unwrap.rs
+++ b/src/test/run-pass/option-unwrap.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 struct dtor {
     x: @mut int,
 
diff --git a/src/test/run-pass/output-slot-variants.rs b/src/test/run-pass/output-slot-variants.rs
index 6939a4ab7b7..562a355b3b4 100644
--- a/src/test/run-pass/output-slot-variants.rs
+++ b/src/test/run-pass/output-slot-variants.rs
@@ -8,6 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
 #[allow(dead_assignment)];
 #[allow(unused_variable)];
 
diff --git a/src/test/run-pass/packed-struct-size.rs b/src/test/run-pass/packed-struct-size.rs
index cc4cb99e2f6..c6550f24d5c 100644
--- a/src/test/run-pass/packed-struct-size.rs
+++ b/src/test/run-pass/packed-struct-size.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 use std::mem;
 
 #[packed]
diff --git a/src/test/run-pass/packed-tuple-struct-size.rs b/src/test/run-pass/packed-tuple-struct-size.rs
index 76362ffeaaf..ad83de6ef48 100644
--- a/src/test/run-pass/packed-tuple-struct-size.rs
+++ b/src/test/run-pass/packed-tuple-struct-size.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 use std::mem;
 
 #[packed]
diff --git a/src/test/run-pass/pass-by-copy.rs b/src/test/run-pass/pass-by-copy.rs
index 14ce305d6c1..0f7e33ce340 100644
--- a/src/test/run-pass/pass-by-copy.rs
+++ b/src/test/run-pass/pass-by-copy.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 fn magic(x: A) { info!("{:?}", x); }
 fn magic2(x: @int) { info!("{:?}", x); }
 
diff --git a/src/test/run-pass/reflect-visit-data.rs b/src/test/run-pass/reflect-visit-data.rs
index 9e7021a56bb..9901f7493f7 100644
--- a/src/test/run-pass/reflect-visit-data.rs
+++ b/src/test/run-pass/reflect-visit-data.rs
@@ -10,6 +10,8 @@
 
 // xfail-fast
 
+#[feature(managed_boxes)];
+
 use std::libc::c_void;
 use std::ptr;
 use std::mem;
diff --git a/src/test/run-pass/reflect-visit-type.rs b/src/test/run-pass/reflect-visit-type.rs
index e447c9c650c..db68ee2b500 100644
--- a/src/test/run-pass/reflect-visit-type.rs
+++ b/src/test/run-pass/reflect-visit-type.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 use std::unstable::intrinsics::{TyDesc, get_tydesc, visit_tydesc, TyVisitor, Opaque};
 
 struct MyVisitor {
diff --git a/src/test/run-pass/resource-assign-is-not-copy.rs b/src/test/run-pass/resource-assign-is-not-copy.rs
index f5bc9895755..3025032fec1 100644
--- a/src/test/run-pass/resource-assign-is-not-copy.rs
+++ b/src/test/run-pass/resource-assign-is-not-copy.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 struct r {
   i: @mut int,
 }
diff --git a/src/test/run-pass/resource-cycle.rs b/src/test/run-pass/resource-cycle.rs
index 0c0707e9036..898f6327aeb 100644
--- a/src/test/run-pass/resource-cycle.rs
+++ b/src/test/run-pass/resource-cycle.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // Don't leak the unique pointers
 
 use std::cast;
diff --git a/src/test/run-pass/resource-cycle2.rs b/src/test/run-pass/resource-cycle2.rs
index 45ee6ce8021..c7ad9711ed4 100644
--- a/src/test/run-pass/resource-cycle2.rs
+++ b/src/test/run-pass/resource-cycle2.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // Don't leak the unique pointers
 
 use std::cast;
diff --git a/src/test/run-pass/resource-cycle3.rs b/src/test/run-pass/resource-cycle3.rs
index 0435f0bdcfd..8d11eca4492 100644
--- a/src/test/run-pass/resource-cycle3.rs
+++ b/src/test/run-pass/resource-cycle3.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // same as resource-cycle2, but be sure to give r multiple fields...
 
 // Don't leak the unique pointers
diff --git a/src/test/run-pass/resource-destruct.rs b/src/test/run-pass/resource-destruct.rs
index 50b6509bb73..d85759dff19 100644
--- a/src/test/run-pass/resource-destruct.rs
+++ b/src/test/run-pass/resource-destruct.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 struct shrinky_pointer {
   i: @@mut int,
 }
diff --git a/src/test/run-pass/resource-in-struct.rs b/src/test/run-pass/resource-in-struct.rs
index d59f79eb2f1..c76a9659c26 100644
--- a/src/test/run-pass/resource-in-struct.rs
+++ b/src/test/run-pass/resource-in-struct.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // Ensures that class dtors run if the object is inside an enum
 // variant
 
diff --git a/src/test/run-pass/shape_intrinsic_tag_then_rec.rs b/src/test/run-pass/shape_intrinsic_tag_then_rec.rs
index 4420804aad1..cb8d7310874 100644
--- a/src/test/run-pass/shape_intrinsic_tag_then_rec.rs
+++ b/src/test/run-pass/shape_intrinsic_tag_then_rec.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // Exercises a bug in the shape code that was exposed
 // on x86_64: when there is a enum embedded in an
 // interior record which is then itself interior to
diff --git a/src/test/run-pass/terminate-in-initializer.rs b/src/test/run-pass/terminate-in-initializer.rs
index c1b308c489e..b630884de86 100644
--- a/src/test/run-pass/terminate-in-initializer.rs
+++ b/src/test/run-pass/terminate-in-initializer.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // Issue #787
 // Don't try to clean up uninitialized locals
 
diff --git a/src/test/run-pass/trait-cast.rs b/src/test/run-pass/trait-cast.rs
index 0d6246655a4..e5d91608997 100644
--- a/src/test/run-pass/trait-cast.rs
+++ b/src/test/run-pass/trait-cast.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // Test cyclic detector when using trait instances.
 
 struct Tree(@mut TreeR);
diff --git a/src/test/run-pass/trait-default-method-xc.rs b/src/test/run-pass/trait-default-method-xc.rs
index 1013a127307..fe0194d6f8c 100644
--- a/src/test/run-pass/trait-default-method-xc.rs
+++ b/src/test/run-pass/trait-default-method-xc.rs
@@ -1,3 +1,5 @@
+#[feature(managed_boxes)];
+
 // xfail-fast
 // aux-build:trait_default_method_xc_aux.rs
 
diff --git a/src/test/run-pass/trait-object-generics.rs b/src/test/run-pass/trait-object-generics.rs
index 3629316e14d..fdae975a637 100644
--- a/src/test/run-pass/trait-object-generics.rs
+++ b/src/test/run-pass/trait-object-generics.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // test for #8664
 
 pub trait Trait2<A> {
diff --git a/src/test/run-pass/typeclasses-eq-example-static.rs b/src/test/run-pass/typeclasses-eq-example-static.rs
index c14dd0471f9..a0c2a489bf6 100644
--- a/src/test/run-pass/typeclasses-eq-example-static.rs
+++ b/src/test/run-pass/typeclasses-eq-example-static.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // Example from lkuper's intern talk, August 2012 -- now with static
 // methods!
 
diff --git a/src/test/run-pass/typeclasses-eq-example.rs b/src/test/run-pass/typeclasses-eq-example.rs
index 18a68bc1c34..50af6cb71c1 100644
--- a/src/test/run-pass/typeclasses-eq-example.rs
+++ b/src/test/run-pass/typeclasses-eq-example.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // Example from lkuper's intern talk, August 2012.
 
 trait Equal {
diff --git a/src/test/run-pass/uniq-cc-generic.rs b/src/test/run-pass/uniq-cc-generic.rs
index 5d115139bdc..f9a8efe5701 100644
--- a/src/test/run-pass/uniq-cc-generic.rs
+++ b/src/test/run-pass/uniq-cc-generic.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 use std::ptr;
 
 enum maybe_pointy {
diff --git a/src/test/run-pass/uniq-cc.rs b/src/test/run-pass/uniq-cc.rs
index b54daa477ec..e08d3965b17 100644
--- a/src/test/run-pass/uniq-cc.rs
+++ b/src/test/run-pass/uniq-cc.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 enum maybe_pointy {
     none,
     p(@mut Pointy),
diff --git a/src/test/run-pass/unique-pinned-nocopy-2.rs b/src/test/run-pass/unique-pinned-nocopy-2.rs
index 6ba3866bb6d..a7c326ba11c 100644
--- a/src/test/run-pass/unique-pinned-nocopy-2.rs
+++ b/src/test/run-pass/unique-pinned-nocopy-2.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 struct r {
   i: @mut int,
 }
diff --git a/src/test/run-pass/unwind-resource2.rs b/src/test/run-pass/unwind-resource2.rs
index 5b0cd17eea0..ab5ae3aca86 100644
--- a/src/test/run-pass/unwind-resource2.rs
+++ b/src/test/run-pass/unwind-resource2.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 extern mod extra;
 
 use std::task;
diff --git a/src/test/run-pass/vec-drop.rs b/src/test/run-pass/vec-drop.rs
index d387d7820a4..d34350e9696 100644
--- a/src/test/run-pass/vec-drop.rs
+++ b/src/test/run-pass/vec-drop.rs
@@ -8,7 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
+#[feature(managed_boxes)];
 
 struct Pair { x: int, y: int }
 
diff --git a/src/test/run-pass/vec-slice-drop.rs b/src/test/run-pass/vec-slice-drop.rs
index 2a4bd2a8cf9..c8493f0cb15 100644
--- a/src/test/run-pass/vec-slice-drop.rs
+++ b/src/test/run-pass/vec-slice-drop.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 // Make sure that destructors get run on slice literals
 struct foo {
     x: @mut int,
diff --git a/src/test/run-pass/vector-no-ann-2.rs b/src/test/run-pass/vector-no-ann-2.rs
index 60124a79fcb..a2a8c8d2b34 100644
--- a/src/test/run-pass/vector-no-ann-2.rs
+++ b/src/test/run-pass/vector-no-ann-2.rs
@@ -8,4 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 pub fn main() { let _quux: @~[uint] = @~[]; }
diff --git a/src/test/run-pass/weird-exprs.rs b/src/test/run-pass/weird-exprs.rs
index 0e24ba326b7..70803c9bd55 100644
--- a/src/test/run-pass/weird-exprs.rs
+++ b/src/test/run-pass/weird-exprs.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#[feature(managed_boxes)];
+
 use std::util;
 
 // Just a grab bag of stuff that you wouldn't want to actually write.