about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2014-04-07 11:26:37 -0700
committerbors <bors@rust-lang.org>2014-04-07 11:26:37 -0700
commit9a33330caaaedb9eef447ae862e9b87e3aa9880f (patch)
tree9a7c30451cda73c0bd106e042d145ad31077968a
parent2db9700332cb7db6d26fab6d07a952f28c6b2256 (diff)
parent2ecae80af210d6153cdf0fecb1ecd11fcc390c00 (diff)
downloadrust-9a33330caaaedb9eef447ae862e9b87e3aa9880f.tar.gz
rust-9a33330caaaedb9eef447ae862e9b87e3aa9880f.zip
auto merge of #13288 : alexcrichton/rust/remove-check-fast, r=brson
Rebasing of #12304.
-rw-r--r--mk/tests.mk66
-rwxr-xr-xsrc/etc/combine-tests.py91
-rw-r--r--src/etc/maketest.py20
-rw-r--r--src/libnative/io/process.rs81
-rw-r--r--src/test/auxiliary/crateresolve7x.rs1
-rw-r--r--src/test/auxiliary/issue-2414-b.rs1
-rw-r--r--src/test/auxiliary/issue-9906.rs1
-rw-r--r--src/test/auxiliary/lang-item-public.rs2
-rw-r--r--src/test/compile-fail/ambig_impl_2_exe.rs1
-rw-r--r--src/test/compile-fail/asm-in-bad-modifier.rs1
-rw-r--r--src/test/compile-fail/asm-misplaced-option.rs1
-rw-r--r--src/test/compile-fail/asm-out-assign-imm.rs1
-rw-r--r--src/test/compile-fail/asm-out-no-modifier.rs1
-rw-r--r--src/test/compile-fail/asm-out-read-uninit.rs1
-rw-r--r--src/test/compile-fail/builtin-superkinds-in-metadata.rs1
-rw-r--r--src/test/compile-fail/coherence_inherent_cc.rs1
-rw-r--r--src/test/compile-fail/crateresolve5.rs1
-rw-r--r--src/test/compile-fail/functional-struct-update-noncopyable.rs2
-rw-r--r--src/test/compile-fail/gated-non-ascii-idents.rs1
-rw-r--r--src/test/compile-fail/gated-trace_macros.rs1
-rw-r--r--src/test/compile-fail/issue-5806.rs2
-rw-r--r--src/test/compile-fail/lint-stability.rs1
-rw-r--r--src/test/compile-fail/private-method-cross-crate.rs1
-rw-r--r--src/test/compile-fail/redundant-link-args.rs29
-rw-r--r--src/test/compile-fail/trace_macros-format.rs1
-rw-r--r--src/test/compile-fail/xc-private-method.rs1
-rw-r--r--src/test/compile-fail/xc-private-method2.rs1
-rw-r--r--src/test/pretty/raw-str-nonexpr.rs1
-rw-r--r--src/test/run-make/c-link-to-rust-staticlib/Makefile7
-rw-r--r--src/test/run-make/dep-info-custom/Makefile6
-rw-r--r--src/test/run-make/dep-info/Makefile8
-rw-r--r--src/test/run-make/lto-smoke-c/Makefile7
-rw-r--r--src/test/run-pass-fulldeps/macro-crate-outlive-expansion-phase.rs1
-rw-r--r--src/test/run-pass-fulldeps/macro-crate.rs1
-rw-r--r--src/test/run-pass-fulldeps/phase-syntax-link-does-resolve.rs2
-rw-r--r--src/test/run-pass-fulldeps/quote-unused-sp-no-warning.rs1
-rw-r--r--src/test/run-pass-fulldeps/syntax-extension-fourcc.rs1
-rw-r--r--src/test/run-pass-fulldeps/syntax-extension-hexfloat.rs1
-rw-r--r--src/test/run-pass/anon-extern-mod-cross-crate-2.rs1
-rw-r--r--src/test/run-pass/anon_trait_static_method_exe.rs1
-rw-r--r--src/test/run-pass/argument-passing.rs1
-rw-r--r--src/test/run-pass/asm-concat-src.rs1
-rw-r--r--src/test/run-pass/asm-in-out-operand.rs1
-rw-r--r--src/test/run-pass/asm-out-assign.rs1
-rw-r--r--src/test/run-pass/attr-main-2.rs1
-rw-r--r--src/test/run-pass/attr-main.rs1
-rw-r--r--src/test/run-pass/attr-shebang.rs1
-rw-r--r--src/test/run-pass/attr-start.rs1
-rw-r--r--src/test/run-pass/attr.rs2
-rw-r--r--src/test/run-pass/auto-encode.rs1
-rw-r--r--src/test/run-pass/backtrace.rs1
-rw-r--r--src/test/run-pass/bind-by-move.rs2
-rw-r--r--src/test/run-pass/bitv-perf-test.rs1
-rw-r--r--src/test/run-pass/block-iter-1.rs1
-rw-r--r--src/test/run-pass/block-iter-2.rs1
-rw-r--r--src/test/run-pass/builtin-superkinds-capabilities-xc.rs1
-rw-r--r--src/test/run-pass/builtin-superkinds-in-metadata.rs1
-rw-r--r--src/test/run-pass/capturing-logging.rs1
-rw-r--r--src/test/run-pass/cci_borrow.rs1
-rw-r--r--src/test/run-pass/cci_capture_clause.rs1
-rw-r--r--src/test/run-pass/cci_impl_exe.rs1
-rw-r--r--src/test/run-pass/cci_iter_exe.rs1
-rw-r--r--src/test/run-pass/cci_nested_exe.rs1
-rw-r--r--src/test/run-pass/cci_no_inline_exe.rs1
-rw-r--r--src/test/run-pass/cfg-macros-foo.rs1
-rw-r--r--src/test/run-pass/cfg-macros-notfoo.rs1
-rw-r--r--src/test/run-pass/cfg_inner_static.rs1
-rw-r--r--src/test/run-pass/cfgs-on-items.rs1
-rw-r--r--src/test/run-pass/class-cast-to-trait-cross-crate-2.rs1
-rw-r--r--src/test/run-pass/class-cast-to-trait.rs2
-rw-r--r--src/test/run-pass/class-exports.rs1
-rw-r--r--src/test/run-pass/class-impl-very-parameterized-trait.rs1
-rw-r--r--src/test/run-pass/class-implement-trait-cross-crate.rs1
-rw-r--r--src/test/run-pass/class-implement-traits.rs1
-rw-r--r--src/test/run-pass/class-method-cross-crate.rs1
-rw-r--r--src/test/run-pass/class-methods-cross-crate.rs1
-rw-r--r--src/test/run-pass/class-poly-methods-cross-crate.rs1
-rw-r--r--src/test/run-pass/class-separate-impl.rs2
-rw-r--r--src/test/run-pass/classes-cross-crate.rs1
-rw-r--r--src/test/run-pass/classes-simple-cross-crate.rs1
-rw-r--r--src/test/run-pass/closure-inference.rs1
-rw-r--r--src/test/run-pass/conditional-compile.rs1
-rw-r--r--src/test/run-pass/conditional-debug-macro-off.rs1
-rw-r--r--src/test/run-pass/conditional-debug-macro-on.rs1
-rw-r--r--src/test/run-pass/const-cross-crate-const.rs1
-rw-r--r--src/test/run-pass/const-cross-crate-extern.rs1
-rw-r--r--src/test/run-pass/core-run-destroy.rs1
-rw-r--r--src/test/run-pass/crate-method-reexport-grrrrrrr.rs1
-rw-r--r--src/test/run-pass/crateresolve1.rs1
-rw-r--r--src/test/run-pass/crateresolve2.rs1
-rw-r--r--src/test/run-pass/crateresolve3.rs1
-rw-r--r--src/test/run-pass/crateresolve4.rs1
-rw-r--r--src/test/run-pass/crateresolve5.rs1
-rw-r--r--src/test/run-pass/crateresolve8.rs1
-rw-r--r--src/test/run-pass/cross-crate-const-pat.rs1
-rw-r--r--src/test/run-pass/cross-crate-newtype-struct-pat.rs1
-rw-r--r--src/test/run-pass/deep-vector.rs1
-rw-r--r--src/test/run-pass/deep-vector2.rs1
-rw-r--r--src/test/run-pass/deriving-encodable-decodable.rs1
-rw-r--r--src/test/run-pass/deriving-global.rs1
-rw-r--r--src/test/run-pass/deriving-hash.rs1
-rw-r--r--src/test/run-pass/deriving-meta-empty-trait-list.rs1
-rw-r--r--src/test/run-pass/deriving-meta-multiple.rs1
-rw-r--r--src/test/run-pass/deriving-meta.rs1
-rw-r--r--src/test/run-pass/deriving-rand.rs2
-rw-r--r--src/test/run-pass/deriving-via-extension-hash-enum.rs1
-rw-r--r--src/test/run-pass/deriving-via-extension-hash-struct.rs1
-rw-r--r--src/test/run-pass/deriving-via-extension-type-params.rs1
-rw-r--r--src/test/run-pass/duplicated-external-mods.rs1
-rw-r--r--src/test/run-pass/evec-internal.rs1
-rw-r--r--src/test/run-pass/exec-env.rs1
-rw-r--r--src/test/run-pass/explicit_self_xcrate_exe.rs1
-rw-r--r--src/test/run-pass/export-glob-imports-target.rs1
-rw-r--r--src/test/run-pass/export-multi.rs1
-rw-r--r--src/test/run-pass/export-non-interference3.rs1
-rw-r--r--src/test/run-pass/expr-block-generic-box2.rs1
-rw-r--r--src/test/run-pass/expr-block-generic-unique2.rs1
-rw-r--r--src/test/run-pass/expr-block-generic.rs1
-rw-r--r--src/test/run-pass/expr-copy.rs1
-rw-r--r--src/test/run-pass/expr-if-generic-box2.rs1
-rw-r--r--src/test/run-pass/expr-if-generic.rs1
-rw-r--r--src/test/run-pass/expr-match-generic-box2.rs1
-rw-r--r--src/test/run-pass/expr-match-generic-unique2.rs1
-rw-r--r--src/test/run-pass/expr-match-generic.rs1
-rw-r--r--src/test/run-pass/expr-scope.rs1
-rw-r--r--src/test/run-pass/extern-calling-convention-test.rs1
-rw-r--r--src/test/run-pass/extern-crosscrate.rs1
-rw-r--r--src/test/run-pass/extern-fn-reachable.rs1
-rw-r--r--src/test/run-pass/extern-mod-ordering-exe.rs1
-rw-r--r--src/test/run-pass/extern-mod-syntax.rs1
-rw-r--r--src/test/run-pass/fixed_length_vec_glue.rs1
-rw-r--r--src/test/run-pass/foreign-dupe.rs1
-rw-r--r--src/test/run-pass/generic-default-type-params-cross-crate.rs1
-rw-r--r--src/test/run-pass/generic-default-type-params.rs1
-rw-r--r--src/test/run-pass/generic-temporary.rs1
-rw-r--r--src/test/run-pass/getopts_ref.rs1
-rw-r--r--src/test/run-pass/glob-std.rs1
-rw-r--r--src/test/run-pass/global-scope.rs1
-rw-r--r--src/test/run-pass/hashmap-memory.rs1
-rw-r--r--src/test/run-pass/ifmt.rs1
-rw-r--r--src/test/run-pass/impl-privacy-xc-1.rs1
-rw-r--r--src/test/run-pass/impl-privacy-xc-2.rs1
-rw-r--r--src/test/run-pass/import-from.rs1
-rw-r--r--src/test/run-pass/import-glob-0.rs1
-rw-r--r--src/test/run-pass/import-glob-crate.rs1
-rw-r--r--src/test/run-pass/import-trailing-comma.rs1
-rw-r--r--src/test/run-pass/import.rs1
-rw-r--r--src/test/run-pass/import2.rs1
-rw-r--r--src/test/run-pass/import3.rs1
-rw-r--r--src/test/run-pass/import4.rs1
-rw-r--r--src/test/run-pass/import5.rs1
-rw-r--r--src/test/run-pass/import6.rs1
-rw-r--r--src/test/run-pass/import7.rs1
-rw-r--r--src/test/run-pass/import8.rs1
-rw-r--r--src/test/run-pass/inner-static.rs1
-rw-r--r--src/test/run-pass/intrinsic-alignment.rs1
-rw-r--r--src/test/run-pass/intrinsic-atomics-cc.rs1
-rw-r--r--src/test/run-pass/intrinsics-integer.rs1
-rw-r--r--src/test/run-pass/intrinsics-math.rs1
-rw-r--r--src/test/run-pass/invoke-external-foreign.rs1
-rw-r--r--src/test/run-pass/issue-10028.rs1
-rw-r--r--src/test/run-pass/issue-10031.rs1
-rw-r--r--src/test/run-pass/issue-10626.rs1
-rw-r--r--src/test/run-pass/issue-10806.rs1
-rw-r--r--src/test/run-pass/issue-11085.rs1
-rw-r--r--src/test/run-pass/issue-11224.rs1
-rw-r--r--src/test/run-pass/issue-11225-1.rs1
-rw-r--r--src/test/run-pass/issue-11225-2.rs1
-rw-r--r--src/test/run-pass/issue-11508.rs1
-rw-r--r--src/test/run-pass/issue-11529.rs1
-rw-r--r--src/test/run-pass/issue-12684.rs1
-rw-r--r--src/test/run-pass/issue-12699.rs1
-rw-r--r--src/test/run-pass/issue-12860.rs1
-rw-r--r--src/test/run-pass/issue-1696.rs1
-rw-r--r--src/test/run-pass/issue-2185.rs1
-rw-r--r--src/test/run-pass/issue-2214.rs1
-rw-r--r--src/test/run-pass/issue-2316-c.rs1
-rw-r--r--src/test/run-pass/issue-2380-b.rs1
-rw-r--r--src/test/run-pass/issue-2383.rs1
-rw-r--r--src/test/run-pass/issue-2414-c.rs1
-rw-r--r--src/test/run-pass/issue-2472.rs1
-rw-r--r--src/test/run-pass/issue-2526-a.rs1
-rw-r--r--src/test/run-pass/issue-2631-b.rs1
-rw-r--r--src/test/run-pass/issue-2718.rs1
-rw-r--r--src/test/run-pass/issue-2723-b.rs1
-rw-r--r--src/test/run-pass/issue-2804-2.rs1
-rw-r--r--src/test/run-pass/issue-2804.rs1
-rw-r--r--src/test/run-pass/issue-2904.rs1
-rw-r--r--src/test/run-pass/issue-3012-2.rs1
-rw-r--r--src/test/run-pass/issue-3026.rs1
-rw-r--r--src/test/run-pass/issue-3424.rs1
-rw-r--r--src/test/run-pass/issue-3656.rs1
-rw-r--r--src/test/run-pass/issue-3979-xcrate.rs1
-rw-r--r--src/test/run-pass/issue-4016.rs2
-rw-r--r--src/test/run-pass/issue-4036.rs1
-rw-r--r--src/test/run-pass/issue-4208.rs1
-rw-r--r--src/test/run-pass/issue-4241.rs129
-rw-r--r--src/test/run-pass/issue-4545.rs1
-rw-r--r--src/test/run-pass/issue-5521.rs1
-rw-r--r--src/test/run-pass/issue-5950.rs1
-rw-r--r--src/test/run-pass/issue-6919.rs1
-rw-r--r--src/test/run-pass/issue-7178.rs1
-rw-r--r--src/test/run-pass/issue-7899.rs1
-rw-r--r--src/test/run-pass/issue-8044.rs1
-rw-r--r--src/test/run-pass/issue-8259.rs1
-rw-r--r--src/test/run-pass/issue-8401.rs1
-rw-r--r--src/test/run-pass/issue-8860.rs1
-rw-r--r--src/test/run-pass/issue-9047.rs4
-rw-r--r--src/test/run-pass/issue-9123.rs1
-rw-r--r--src/test/run-pass/issue-9188.rs1
-rw-r--r--src/test/run-pass/issue-9906.rs1
-rw-r--r--src/test/run-pass/issue-9968.rs1
-rw-r--r--src/test/run-pass/issue2170exe.rs1
-rw-r--r--src/test/run-pass/issue2378c.rs1
-rw-r--r--src/test/run-pass/issue_3136_b.rs1
-rw-r--r--src/test/run-pass/issue_9155.rs1
-rw-r--r--src/test/run-pass/kinds-in-metadata.rs1
-rw-r--r--src/test/run-pass/lang-item-public.rs4
-rw-r--r--src/test/run-pass/linkage-visibility.rs1
-rw-r--r--src/test/run-pass/linkage1.rs1
-rw-r--r--src/test/run-pass/lint-non-camel-case-types-non-uppercase-statics-unicode.rs1
-rw-r--r--src/test/run-pass/log-knows-the-names-of-variants-in-std.rs1
-rw-r--r--src/test/run-pass/log_syntax-trace_macros-macro-locations.rs3
-rw-r--r--src/test/run-pass/logging-enabled-debug.rs1
-rw-r--r--src/test/run-pass/logging-enabled.rs1
-rw-r--r--src/test/run-pass/logging-only-prints-once.rs2
-rw-r--r--src/test/run-pass/logging-right-crate.rs1
-rw-r--r--src/test/run-pass/logging_before_rt_started.rs1
-rw-r--r--src/test/run-pass/macro-crate-def-only.rs1
-rw-r--r--src/test/run-pass/macro-export-inner-module.rs1
-rw-r--r--src/test/run-pass/macro-meta-items.rs3
-rw-r--r--src/test/run-pass/macro-with-attrs1.rs1
-rw-r--r--src/test/run-pass/mod-view-items.rs1
-rw-r--r--src/test/run-pass/mod_dir_implicit.rs1
-rw-r--r--src/test/run-pass/mod_dir_path.rs1
-rw-r--r--src/test/run-pass/mod_dir_path2.rs1
-rw-r--r--src/test/run-pass/mod_dir_path3.rs1
-rw-r--r--src/test/run-pass/mod_dir_path_multi.rs1
-rw-r--r--src/test/run-pass/mod_dir_recursive.rs1
-rw-r--r--src/test/run-pass/mod_dir_simple.rs1
-rw-r--r--src/test/run-pass/monad.rs1
-rw-r--r--src/test/run-pass/moves-based-on-type-cross-crate.rs1
-rw-r--r--src/test/run-pass/native-always-waits.rs1
-rw-r--r--src/test/run-pass/native-print-no-runtime.rs1
-rw-r--r--src/test/run-pass/nested_item_main.rs1
-rw-r--r--src/test/run-pass/newtype-struct-xc-2.rs1
-rw-r--r--src/test/run-pass/newtype-struct-xc.rs1
-rw-r--r--src/test/run-pass/no-landing-pads.rs1
-rw-r--r--src/test/run-pass/once-move-out-on-heap.rs1
-rw-r--r--src/test/run-pass/once-move-out-on-stack.rs1
-rw-r--r--src/test/run-pass/operator-overloading.rs1
-rw-r--r--src/test/run-pass/out-of-stack.rs2
-rw-r--r--src/test/run-pass/overloaded-autoderef-xcrate.rs1
-rw-r--r--src/test/run-pass/packed-struct-size-xc.rs1
-rw-r--r--src/test/run-pass/phase-use-ignored.rs1
-rw-r--r--src/test/run-pass/placement-new-arena.rs1
-rw-r--r--src/test/run-pass/priv-impl-prim-ty.rs1
-rw-r--r--src/test/run-pass/privacy-ns.rs1
-rw-r--r--src/test/run-pass/privacy-reexport.rs1
-rw-r--r--src/test/run-pass/process-detach.rs1
-rw-r--r--src/test/run-pass/pub-use-xcrate.rs1
-rw-r--r--src/test/run-pass/pub_use_mods_xcrate_exe.rs1
-rw-r--r--src/test/run-pass/rec-align-u32.rs1
-rw-r--r--src/test/run-pass/rec-align-u64.rs1
-rw-r--r--src/test/run-pass/reexport-should-still-link.rs1
-rw-r--r--src/test/run-pass/reexport-star.rs1
-rw-r--r--src/test/run-pass/reexported-static-methods-cross-crate.rs1
-rw-r--r--src/test/run-pass/regions-mock-tcx.rs1
-rw-r--r--src/test/run-pass/regions-params.rs1
-rw-r--r--src/test/run-pass/rename-directory.rs2
-rw-r--r--src/test/run-pass/self-shadowing-import.rs1
-rw-r--r--src/test/run-pass/sendfn-is-a-block.rs1
-rw-r--r--src/test/run-pass/signal-exit-status.rs2
-rw-r--r--src/test/run-pass/sigpipe-should-be-ignored.rs2
-rw-r--r--src/test/run-pass/simd-generics.rs1
-rw-r--r--src/test/run-pass/simd-issue-10604.rs1
-rw-r--r--src/test/run-pass/simd-type.rs1
-rw-r--r--src/test/run-pass/smallest-hello-world.rs1
-rw-r--r--src/test/run-pass/spawning-with-debug.rs2
-rw-r--r--src/test/run-pass/stat.rs1
-rw-r--r--src/test/run-pass/static-fn-inline-xc.rs1
-rw-r--r--src/test/run-pass/static-fn-trait-xc.rs1
-rw-r--r--src/test/run-pass/static-function-pointer-xc.rs1
-rw-r--r--src/test/run-pass/static-impl.rs1
-rw-r--r--src/test/run-pass/static-method-xcrate.rs1
-rw-r--r--src/test/run-pass/static-mut-xc.rs1
-rw-r--r--src/test/run-pass/struct-destructuring-cross-crate.rs1
-rw-r--r--src/test/run-pass/struct_variant_xc.rs1
-rw-r--r--src/test/run-pass/syntax-extension-cfg.rs1
-rw-r--r--src/test/run-pass/tag-align-shape.rs1
-rw-r--r--src/test/run-pass/tag-exports.rs1
-rw-r--r--src/test/run-pass/task-comm-0.rs1
-rw-r--r--src/test/run-pass/task-comm-10.rs1
-rw-r--r--src/test/run-pass/task-comm-11.rs1
-rw-r--r--src/test/run-pass/task-comm-13.rs1
-rw-r--r--src/test/run-pass/task-comm-14.rs1
-rw-r--r--src/test/run-pass/task-comm-15.rs1
-rw-r--r--src/test/run-pass/task-comm-3.rs1
-rw-r--r--src/test/run-pass/task-comm-7.rs1
-rw-r--r--src/test/run-pass/task-comm-9.rs1
-rw-r--r--src/test/run-pass/tcp-stress.rs13
-rw-r--r--src/test/run-pass/tempfile.rs1
-rw-r--r--src/test/run-pass/test-ignore-cfg.rs1
-rw-r--r--src/test/run-pass/test-runner-hides-main.rs1
-rw-r--r--src/test/run-pass/trait-bounds-in-arc.rs1
-rw-r--r--src/test/run-pass/trait-default-method-xc-2.rs1
-rw-r--r--src/test/run-pass/trait-default-method-xc.rs1
-rw-r--r--src/test/run-pass/trait-generic.rs1
-rw-r--r--src/test/run-pass/trait-inheritance-auto-xc-2.rs1
-rw-r--r--src/test/run-pass/trait-inheritance-auto-xc.rs1
-rw-r--r--src/test/run-pass/trait-inheritance-cross-trait-call-xc.rs1
-rw-r--r--src/test/run-pass/trait-inheritance-num.rs1
-rw-r--r--src/test/run-pass/trait-inheritance-num0.rs1
-rw-r--r--src/test/run-pass/trait-inheritance-num2.rs1
-rw-r--r--src/test/run-pass/trait-inheritance-overloading-xc-exe.rs1
-rw-r--r--src/test/run-pass/trait-static-method-overwriting.rs1
-rw-r--r--src/test/run-pass/trait-to-str.rs1
-rw-r--r--src/test/run-pass/tydesc-name.rs1
-rw-r--r--src/test/run-pass/type-param-constraints.rs1
-rw-r--r--src/test/run-pass/typeid-intrinsic.rs1
-rw-r--r--src/test/run-pass/unwind-resource.rs1
-rw-r--r--src/test/run-pass/use.rs2
-rw-r--r--src/test/run-pass/use_inline_dtor.rs1
-rw-r--r--src/test/run-pass/utf8_idents.rs1
-rw-r--r--src/test/run-pass/vector-sort-failure-safe.rs1
-rw-r--r--src/test/run-pass/xcrate-address-insignificant.rs1
-rw-r--r--src/test/run-pass/xcrate-static-addresses.rs1
-rw-r--r--src/test/run-pass/xcrate-trait-lifetime-param.rs1
-rw-r--r--src/test/run-pass/xcrate-unit-struct.rs1
329 files changed, 285 insertions, 517 deletions
diff --git a/mk/tests.mk b/mk/tests.mk
index c766b6c143b..c134e71986f 100644
--- a/mk/tests.mk
+++ b/mk/tests.mk
@@ -183,6 +183,9 @@ check-ref: cleantestlibs cleantmptestlogs check-stage2-rpass \
 check-docs: cleantestlibs cleantmptestlogs check-stage2-docs
 	$(Q)$(CFG_PYTHON) $(S)src/etc/check-summary.py tmp/*.log
 
+# NOTE: Remove after reprogramming windows bots
+check-fast: check-lite
+
 .PHONY: cleantmptestlogs cleantestlibs
 
 cleantmptestlogs:
@@ -875,69 +878,9 @@ $(foreach crate,$(TEST_CRATES), \
  $(eval $(call DEF_CHECK_CRATE,$(crate))))
 
 ######################################################################
-# check-fast rules
+# RMAKE rules
 ######################################################################
 
-FT := run_pass_stage2
-FT_LIB := $(call CFG_LIB_NAME_$(CFG_BUILD),$(FT))
-FT_DRIVER := $(FT)_driver
-
-GENERATED += tmp/$(FT).rc tmp/$(FT_DRIVER).rs
-
-tmp/$(FT).rc tmp/$(FT_DRIVER).rs: \
-		$(RPASS_TESTS) \
-		$(S)src/etc/combine-tests.py
-	@$(call E, check: building combined stage2 test runner)
-	$(Q)$(CFG_PYTHON) $(S)src/etc/combine-tests.py
-
-define DEF_CHECK_FAST_FOR_T_H
-# $(1) unused
-# $(2) target triple
-# $(3) host triple
-
-$$(TLIB2_T_$(2)_H_$(3))/$$(FT_LIB): \
-		tmp/$$(FT).rc \
-		$$(SREQ2_T_$(2)_H_$(3))
-	@$$(call E, oxidize: $$@)
-	$$(STAGE2_T_$(2)_H_$(3)) --crate-type=dylib --out-dir $$(@D) $$< \
-	  -L "$$(RT_OUTPUT_DIR_$(2))"
-
-$(3)/test/$$(FT_DRIVER)-$(2)$$(X_$(2)): \
-		tmp/$$(FT_DRIVER).rs \
-		$$(TLIB2_T_$(2)_H_$(3))/$$(FT_LIB) \
-		$$(SREQ2_T_$(2)_H_$(3))
-	@$$(call E, oxidize: $$@ $$<)
-	$$(STAGE2_T_$(2)_H_$(3)) -o $$@ $$< \
-	  -L "$$(RT_OUTPUT_DIR_$(2))"
-
-$(3)/test/$$(FT_DRIVER)-$(2).out: \
-		$(3)/test/$$(FT_DRIVER)-$(2)$$(X_$(2)) \
-		$$(SREQ2_T_$(2)_H_$(3))
-	$$(Q)$$(call CFG_RUN_TEST_$(2),$$<,$(2),$(3)) \
-	--logfile tmp/$$(FT_DRIVER)-$(2).log
-
-check-fast-T-$(2)-H-$(3):     			\
-	$(3)/test/$$(FT_DRIVER)-$(2).out
-
-endef
-
-$(foreach host,$(CFG_HOST), \
- $(eval $(foreach target,$(CFG_TARGET), \
-   $(eval $(call DEF_CHECK_FAST_FOR_T_H,,$(target),$(host))))))
-
-check-fast: tidy check-fast-H-$(CFG_BUILD) \
-	    $(foreach crate,$(TARGET_CRATES),check-stage2-$(crate))
-	$(Q)$(CFG_PYTHON) $(S)src/etc/check-summary.py tmp/*.log
-
-define DEF_CHECK_FAST_FOR_H
-
-check-fast-H-$(1): 		check-fast-T-$(1)-H-$(1)
-
-endef
-
-$(foreach host,$(CFG_HOST),			\
- $(eval $(call DEF_CHECK_FAST_FOR_H,$(host))))
-
 RMAKE_TESTS := $(shell ls -d $(S)src/test/run-make/*/)
 RMAKE_TESTS := $(RMAKE_TESTS:$(S)src/test/run-make/%/=%)
 
@@ -961,6 +904,7 @@ $(3)/test/run-make/%-$(1)-T-$(2)-H-$(3).ok: \
 	@rm -rf $(3)/test/run-make/$$*
 	@mkdir -p $(3)/test/run-make/$$*
 	$$(Q)$$(CFG_PYTHON) $(S)src/etc/maketest.py $$(dir $$<) \
+        $$(MAKE) \
 	    $$(HBIN$(1)_H_$(3))/rustc$$(X_$(3)) \
 	    $(3)/test/run-make/$$* \
 	    "$$(CC_$(3)) $$(CFG_GCCISH_CFLAGS_$(3))" \
diff --git a/src/etc/combine-tests.py b/src/etc/combine-tests.py
deleted file mode 100755
index 68423b416f6..00000000000
--- a/src/etc/combine-tests.py
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright 2011-2014 The Rust Project Developers. See the COPYRIGHT
-# file at the top-level directory of this distribution and at
-# http://rust-lang.org/COPYRIGHT.
-#
-# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-# option. This file may not be copied, modified, or distributed
-# except according to those terms.
-
-# This combines all the working run-pass tests into a single large crate so we
-# can run it "fast": spawning zillions of windows processes is our major build
-# bottleneck (and it doesn't hurt to run faster on other platforms as well).
-
-import sys
-import os
-import codecs
-
-
-def scrub(b):
-    if sys.version_info >= (3,) and type(b) == bytes:
-        return b.decode('ascii')
-    else:
-        return b
-
-src_dir = scrub(os.getenv("CFG_SRC_DIR"))
-if not src_dir:
-    raise Exception("missing env var CFG_SRC_DIR")
-
-run_pass = os.path.join(src_dir, "src", "test", "run-pass")
-run_pass = os.path.abspath(run_pass)
-stage2_tests = []
-
-for t in os.listdir(run_pass):
-    if t.endswith(".rs") and not (
-            t.startswith(".") or t.startswith("#") or t.startswith("~")):
-        f = codecs.open(os.path.join(run_pass, t), "r", "utf8")
-        s = f.read()
-        if not ("ignore-test" in s or
-                "ignore-fast" in s or
-                "ignore-win32" in s):
-            if not "pub fn main" in s and "fn main" in s:
-                print("Warning: no public entry point in " + t)
-            stage2_tests.append(t)
-        f.close()
-
-stage2_tests.sort()
-
-c = open("tmp/run_pass_stage2.rc", "w")
-i = 0
-c.write(
-"""
-// AUTO-GENERATED FILE: DO NOT EDIT
-#[crate_id=\"run_pass_stage2#0.1\"];
-#[crate_id=\"run_pass_stage2#0.1\"];
-#[feature(globs, macro_rules, struct_variant, managed_boxes)];
-#![allow(warnings)]
-extern crate collections;
-"""
-)
-for t in stage2_tests:
-    p = os.path.join(run_pass, t)
-    p = p.replace("\\", "\\\\")
-    c.write("#[path = \"%s\"]" % p)
-    c.write("pub mod t_%d;\n" % i)
-    i += 1
-c.close()
-
-
-d = open("tmp/run_pass_stage2_driver.rs", "w")
-d.write(
-"""
-// AUTO-GENERATED FILE: DO NOT EDIT
-#[feature(globs, managed_boxes)];
-extern crate run_pass_stage2;
-use run_pass_stage2::*;
-use std::io;
-use std::io::Writer;
-#[allow(warnings)]
-fn main() {
-    let mut out = io::stdout();
-"""
-)
-i = 0
-for t in stage2_tests:
-    p = os.path.join("test", "run-pass", t)
-    p = p.replace("\\", "\\\\")
-    d.write("    out.write(\"run-pass [stage2]: %s\\n\".as_bytes());\n" % p)
-    d.write("    t_%d::main();\n" % i)
-    i += 1
-d.write("}\n")
diff --git a/src/etc/maketest.py b/src/etc/maketest.py
index 8afe6cf987a..9e8bee3abb6 100644
--- a/src/etc/maketest.py
+++ b/src/etc/maketest.py
@@ -12,12 +12,18 @@ import subprocess
 import os
 import sys
 
-os.putenv('RUSTC', os.path.abspath(sys.argv[2]))
-os.putenv('TMPDIR', os.path.abspath(sys.argv[3]))
-os.putenv('CC', sys.argv[4])
-os.putenv('RUSTDOC', os.path.abspath(sys.argv[5]))
-filt = sys.argv[6]
-ldpath = sys.argv[7]
+# FIXME #12303 these tests are broken on windows
+if os.name == 'nt':
+    print 'ignoring make tests on windows'
+    sys.exit(0)
+
+make = sys.argv[2]
+os.putenv('RUSTC', os.path.abspath(sys.argv[3]))
+os.putenv('TMPDIR', os.path.abspath(sys.argv[4]))
+os.putenv('CC', sys.argv[5])
+os.putenv('RUSTDOC', os.path.abspath(sys.argv[6]))
+filt = sys.argv[7]
+ldpath = sys.argv[8]
 if ldpath != '':
     os.putenv(ldpath.split('=')[0], ldpath.split('=')[1])
 
@@ -25,7 +31,7 @@ if not filt in sys.argv[1]:
     sys.exit(0)
 print('maketest: ' + os.path.basename(os.path.dirname(sys.argv[1])))
 
-proc = subprocess.Popen(['make', '-C', sys.argv[1]],
+proc = subprocess.Popen([make, '-C', sys.argv[1]],
                         stdout = subprocess.PIPE,
                         stderr = subprocess.PIPE)
 out, err = proc.communicate()
diff --git a/src/libnative/io/process.rs b/src/libnative/io/process.rs
index 1218fab05f0..d1edea4df71 100644
--- a/src/libnative/io/process.rs
+++ b/src/libnative/io/process.rs
@@ -40,6 +40,9 @@ pub struct Process {
 
     /// None until finish() is called.
     exit_code: Option<p::ProcessExit>,
+
+    /// Manually delivered signal
+    exit_signal: Option<int>,
 }
 
 impl Process {
@@ -107,7 +110,12 @@ impl Process {
 
         match res {
             Ok(res) => {
-                Ok((Process { pid: res.pid, handle: res.handle, exit_code: None },
+                Ok((Process {
+                        pid: res.pid,
+                        handle: res.handle,
+                        exit_code: None,
+                        exit_signal: None,
+                    },
                     ret_io))
             }
             Err(e) => Err(e)
@@ -127,6 +135,14 @@ impl rtio::RtioProcess for Process {
             Some(code) => code,
             None => {
                 let code = waitpid(self.pid);
+                // On windows, waitpid will never return a signal. If a signal
+                // was successfully delivered to the process, however, we can
+                // consider it as having died via a signal.
+                let code = match self.exit_signal {
+                    None => code,
+                    Some(signal) if cfg!(windows) => p::ExitSignal(signal),
+                    Some(..) => code,
+                };
                 self.exit_code = Some(code);
                 code
             }
@@ -157,7 +173,14 @@ impl rtio::RtioProcess for Process {
             }),
             None => {}
         }
-        return unsafe { killpid(self.pid, signum) };
+
+        // A successfully delivered signal that isn't 0 (just a poll for being
+        // alive) is recorded for windows (see wait())
+        match unsafe { killpid(self.pid, signum) } {
+            Ok(()) if signum == 0 => Ok(()),
+            Ok(()) => { self.exit_signal = Some(signum); Ok(()) }
+            Err(e) => Err(e),
+        }
     }
 }
 
@@ -256,31 +279,37 @@ fn spawn_process_os(config: p::ProcessConfig,
 
         let cur_proc = GetCurrentProcess();
 
-        let orig_std_in = get_osfhandle(in_fd) as HANDLE;
-        if orig_std_in == INVALID_HANDLE_VALUE as HANDLE {
-            fail!("failure in get_osfhandle: {}", os::last_os_error());
-        }
-        if DuplicateHandle(cur_proc, orig_std_in, cur_proc, &mut si.hStdInput,
-                           0, TRUE, DUPLICATE_SAME_ACCESS) == FALSE {
-            fail!("failure in DuplicateHandle: {}", os::last_os_error());
+        if in_fd != -1 {
+            let orig_std_in = get_osfhandle(in_fd) as HANDLE;
+            if orig_std_in == INVALID_HANDLE_VALUE as HANDLE {
+                fail!("failure in get_osfhandle: {}", os::last_os_error());
+            }
+            if DuplicateHandle(cur_proc, orig_std_in, cur_proc, &mut si.hStdInput,
+                               0, TRUE, DUPLICATE_SAME_ACCESS) == FALSE {
+                fail!("failure in DuplicateHandle: {}", os::last_os_error());
+            }
         }
 
-        let orig_std_out = get_osfhandle(out_fd) as HANDLE;
-        if orig_std_out == INVALID_HANDLE_VALUE as HANDLE {
-            fail!("failure in get_osfhandle: {}", os::last_os_error());
-        }
-        if DuplicateHandle(cur_proc, orig_std_out, cur_proc, &mut si.hStdOutput,
-                           0, TRUE, DUPLICATE_SAME_ACCESS) == FALSE {
-            fail!("failure in DuplicateHandle: {}", os::last_os_error());
+        if out_fd != -1 {
+            let orig_std_out = get_osfhandle(out_fd) as HANDLE;
+            if orig_std_out == INVALID_HANDLE_VALUE as HANDLE {
+                fail!("failure in get_osfhandle: {}", os::last_os_error());
+            }
+            if DuplicateHandle(cur_proc, orig_std_out, cur_proc, &mut si.hStdOutput,
+                               0, TRUE, DUPLICATE_SAME_ACCESS) == FALSE {
+                fail!("failure in DuplicateHandle: {}", os::last_os_error());
+            }
         }
 
-        let orig_std_err = get_osfhandle(err_fd) as HANDLE;
-        if orig_std_err == INVALID_HANDLE_VALUE as HANDLE {
-            fail!("failure in get_osfhandle: {}", os::last_os_error());
-        }
-        if DuplicateHandle(cur_proc, orig_std_err, cur_proc, &mut si.hStdError,
-                           0, TRUE, DUPLICATE_SAME_ACCESS) == FALSE {
-            fail!("failure in DuplicateHandle: {}", os::last_os_error());
+        if err_fd != -1 {
+            let orig_std_err = get_osfhandle(err_fd) as HANDLE;
+            if orig_std_err == INVALID_HANDLE_VALUE as HANDLE {
+                fail!("failure in get_osfhandle: {}", os::last_os_error());
+            }
+            if DuplicateHandle(cur_proc, orig_std_err, cur_proc, &mut si.hStdError,
+                               0, TRUE, DUPLICATE_SAME_ACCESS) == FALSE {
+                fail!("failure in DuplicateHandle: {}", os::last_os_error());
+            }
         }
 
         let cmd = make_command_line(config.program, config.args);
@@ -307,9 +336,9 @@ fn spawn_process_os(config: p::ProcessConfig,
             })
         });
 
-        assert!(CloseHandle(si.hStdInput) != 0);
-        assert!(CloseHandle(si.hStdOutput) != 0);
-        assert!(CloseHandle(si.hStdError) != 0);
+        if in_fd != -1 { assert!(CloseHandle(si.hStdInput) != 0); }
+        if out_fd != -1 { assert!(CloseHandle(si.hStdOutput) != 0); }
+        if err_fd != -1 { assert!(CloseHandle(si.hStdError) != 0); }
 
         match create_err {
             Some(err) => return Err(err),
diff --git a/src/test/auxiliary/crateresolve7x.rs b/src/test/auxiliary/crateresolve7x.rs
index 5cf5c6d178d..801ace7d804 100644
--- a/src/test/auxiliary/crateresolve7x.rs
+++ b/src/test/auxiliary/crateresolve7x.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:crateresolve_calories-1.rs
 // aux-build:crateresolve_calories-2.rs
 
diff --git a/src/test/auxiliary/issue-2414-b.rs b/src/test/auxiliary/issue-2414-b.rs
index 177b735ead7..0a1587cd7cb 100644
--- a/src/test/auxiliary/issue-2414-b.rs
+++ b/src/test/auxiliary/issue-2414-b.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 #[crate_id="b#0.1"];
 #[crate_type = "lib"];
diff --git a/src/test/auxiliary/issue-9906.rs b/src/test/auxiliary/issue-9906.rs
index d1a6755c1e9..1e746bf39db 100644
--- a/src/test/auxiliary/issue-9906.rs
+++ b/src/test/auxiliary/issue-9906.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast windows doesn't like extern crate
 // aux-build:issue-9906.rs
 
 pub use other::FooBar;
diff --git a/src/test/auxiliary/lang-item-public.rs b/src/test/auxiliary/lang-item-public.rs
index 123160f0c80..1435a101115 100644
--- a/src/test/auxiliary/lang-item-public.rs
+++ b/src/test/auxiliary/lang-item-public.rs
@@ -8,7 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-#[no_std];
+#![no_std]
 
 #[lang="fail_"]
 fn fail(_: *i8, _: *i8, _: uint) -> ! { loop {} }
diff --git a/src/test/compile-fail/ambig_impl_2_exe.rs b/src/test/compile-fail/ambig_impl_2_exe.rs
index a7a02438530..664a1684505 100644
--- a/src/test/compile-fail/ambig_impl_2_exe.rs
+++ b/src/test/compile-fail/ambig_impl_2_exe.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast aux-build
 // aux-build:ambig_impl_2_lib.rs
 extern crate ambig_impl_2_lib;
 use ambig_impl_2_lib::me;
diff --git a/src/test/compile-fail/asm-in-bad-modifier.rs b/src/test/compile-fail/asm-in-bad-modifier.rs
index dfd9fd698c9..82ecfd0ca72 100644
--- a/src/test/compile-fail/asm-in-bad-modifier.rs
+++ b/src/test/compile-fail/asm-in-bad-modifier.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast #[feature] doesn't work with check-fast
 #![feature(asm)]
 
 fn foo(x: int) { println!("{}", x); }
diff --git a/src/test/compile-fail/asm-misplaced-option.rs b/src/test/compile-fail/asm-misplaced-option.rs
index 36896667281..d90e4068785 100644
--- a/src/test/compile-fail/asm-misplaced-option.rs
+++ b/src/test/compile-fail/asm-misplaced-option.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast #[feature] doesn't work with check-fast
 // ignore-android
 
 #![feature(asm)]
diff --git a/src/test/compile-fail/asm-out-assign-imm.rs b/src/test/compile-fail/asm-out-assign-imm.rs
index ae5c67c365f..2319594cb97 100644
--- a/src/test/compile-fail/asm-out-assign-imm.rs
+++ b/src/test/compile-fail/asm-out-assign-imm.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast #[feature] doesn't work with check-fast
 #![feature(asm)]
 
 fn foo(x: int) { println!("{}", x); }
diff --git a/src/test/compile-fail/asm-out-no-modifier.rs b/src/test/compile-fail/asm-out-no-modifier.rs
index 01aa01e09ce..5535c167e3c 100644
--- a/src/test/compile-fail/asm-out-no-modifier.rs
+++ b/src/test/compile-fail/asm-out-no-modifier.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast #[feature] doesn't work with check-fast
 #![feature(asm)]
 
 fn foo(x: int) { println!("{}", x); }
diff --git a/src/test/compile-fail/asm-out-read-uninit.rs b/src/test/compile-fail/asm-out-read-uninit.rs
index a63a59ff423..1d807acefe6 100644
--- a/src/test/compile-fail/asm-out-read-uninit.rs
+++ b/src/test/compile-fail/asm-out-read-uninit.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast #[feature] doesn't work with check-fast
 #![feature(asm)]
 
 fn foo(x: int) { println!("{}", x); }
diff --git a/src/test/compile-fail/builtin-superkinds-in-metadata.rs b/src/test/compile-fail/builtin-superkinds-in-metadata.rs
index e085b35cbb1..66809aa72dc 100644
--- a/src/test/compile-fail/builtin-superkinds-in-metadata.rs
+++ b/src/test/compile-fail/builtin-superkinds-in-metadata.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 // aux-build:trait_superkinds_in_metadata.rs
 
diff --git a/src/test/compile-fail/coherence_inherent_cc.rs b/src/test/compile-fail/coherence_inherent_cc.rs
index dcecbd5658d..4eb9864bc9c 100644
--- a/src/test/compile-fail/coherence_inherent_cc.rs
+++ b/src/test/compile-fail/coherence_inherent_cc.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:coherence_inherent_cc_lib.rs
 
 // Tests that methods that implement a trait cannot be invoked
diff --git a/src/test/compile-fail/crateresolve5.rs b/src/test/compile-fail/crateresolve5.rs
index 124696630cc..8b4801466b9 100644
--- a/src/test/compile-fail/crateresolve5.rs
+++ b/src/test/compile-fail/crateresolve5.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:crateresolve5-1.rs
 // aux-build:crateresolve5-2.rs
 
diff --git a/src/test/compile-fail/functional-struct-update-noncopyable.rs b/src/test/compile-fail/functional-struct-update-noncopyable.rs
index 0ba4db4f211..a37c318f9ee 100644
--- a/src/test/compile-fail/functional-struct-update-noncopyable.rs
+++ b/src/test/compile-fail/functional-struct-update-noncopyable.rs
@@ -10,8 +10,8 @@
 
 // issue 7327
 
-// ignore-fast #7103
 extern crate sync;
+
 use sync::Arc;
 
 struct A { y: Arc<int>, x: Arc<int> }
diff --git a/src/test/compile-fail/gated-non-ascii-idents.rs b/src/test/compile-fail/gated-non-ascii-idents.rs
index 174554a0832..0634ba183a8 100644
--- a/src/test/compile-fail/gated-non-ascii-idents.rs
+++ b/src/test/compile-fail/gated-non-ascii-idents.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast feature doesn't work.
 
 #![feature(struct_variant)]
 
diff --git a/src/test/compile-fail/gated-trace_macros.rs b/src/test/compile-fail/gated-trace_macros.rs
index 67225d56c4b..19b08ce655c 100644
--- a/src/test/compile-fail/gated-trace_macros.rs
+++ b/src/test/compile-fail/gated-trace_macros.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast feature doesn't work.
 
 fn main() {
     trace_macros!(true); //~ ERROR: `trace_macros` is not stable
diff --git a/src/test/compile-fail/issue-5806.rs b/src/test/compile-fail/issue-5806.rs
index 8ac2429a331..715772b3114 100644
--- a/src/test/compile-fail/issue-5806.rs
+++ b/src/test/compile-fail/issue-5806.rs
@@ -18,6 +18,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+// ignore-freebsd FIXME #12460
+
 #[path = "../compile-fail"]
 mod foo; //~ ERROR: illegal operation on a directory
 
diff --git a/src/test/compile-fail/lint-stability.rs b/src/test/compile-fail/lint-stability.rs
index 4ebd9f1cefd..8509afc9832 100644
--- a/src/test/compile-fail/lint-stability.rs
+++ b/src/test/compile-fail/lint-stability.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast aux-build
 // aux-build:lint_stability.rs
 
 #![feature(globs)]
diff --git a/src/test/compile-fail/private-method-cross-crate.rs b/src/test/compile-fail/private-method-cross-crate.rs
index 2e79c0f46ad..68059baa385 100644
--- a/src/test/compile-fail/private-method-cross-crate.rs
+++ b/src/test/compile-fail/private-method-cross-crate.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:cci_class_5.rs
 extern crate cci_class_5;
 use cci_class_5::kitties::cat;
diff --git a/src/test/compile-fail/redundant-link-args.rs b/src/test/compile-fail/redundant-link-args.rs
new file mode 100644
index 00000000000..e7cf7c97459
--- /dev/null
+++ b/src/test/compile-fail/redundant-link-args.rs
@@ -0,0 +1,29 @@
+// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// ignore-test
+
+// error-pattern:library 'm' already added: can't specify link_args.
+
+/* I think it should undefined to have multiple modules that link in the same
+  library, but provide different link arguments. Unfortunately we don't track
+  link_args by module -- they are just appended as discovered into the crate
+  store -- but for now, it should be an error to provide link_args on a module
+  that's already been included (with or without link_args). */
+
+#[link_name= "m"]
+#[link_args="-foo"]             // this could have been elided.
+extern {
+}
+
+#[link_name= "m"]
+#[link_args="-bar"]             // this is the actual error trigger.
+extern {
+}
diff --git a/src/test/compile-fail/trace_macros-format.rs b/src/test/compile-fail/trace_macros-format.rs
index d5955601f2d..8e000024675 100644
--- a/src/test/compile-fail/trace_macros-format.rs
+++ b/src/test/compile-fail/trace_macros-format.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast feature doesn't work
 #![feature(macro_rules, trace_macros)]
 
 fn main() {
diff --git a/src/test/compile-fail/xc-private-method.rs b/src/test/compile-fail/xc-private-method.rs
index 503c8da70be..edc0e31040d 100644
--- a/src/test/compile-fail/xc-private-method.rs
+++ b/src/test/compile-fail/xc-private-method.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:xc_private_method_lib.rs
 
 extern crate xc_private_method_lib;
diff --git a/src/test/compile-fail/xc-private-method2.rs b/src/test/compile-fail/xc-private-method2.rs
index 978ec39a06e..48b07a39eb8 100644
--- a/src/test/compile-fail/xc-private-method2.rs
+++ b/src/test/compile-fail/xc-private-method2.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:xc_private_method_lib.rs
 
 extern crate xc_private_method_lib;
diff --git a/src/test/pretty/raw-str-nonexpr.rs b/src/test/pretty/raw-str-nonexpr.rs
index b76591048ce..5cc5705ed75 100644
--- a/src/test/pretty/raw-str-nonexpr.rs
+++ b/src/test/pretty/raw-str-nonexpr.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast #[feature] doesn't work with check-fast
 // pp-exact
 
 #![feature(asm)]
diff --git a/src/test/run-make/c-link-to-rust-staticlib/Makefile b/src/test/run-make/c-link-to-rust-staticlib/Makefile
index 134d15f37aa..78ac1f66bfc 100644
--- a/src/test/run-make/c-link-to-rust-staticlib/Makefile
+++ b/src/test/run-make/c-link-to-rust-staticlib/Makefile
@@ -4,6 +4,8 @@ ifneq ($(shell uname),Darwin)
 	EXTRAFLAGS := -lm -lrt -ldl -lpthread
 endif
 
+# FIXME
+ifneq ($(shell uname),FreeBSD)
 all:
 	$(RUSTC) foo.rs
 	ln -s $(call STATICLIB,foo-*) $(call STATICLIB,foo)
@@ -11,3 +13,8 @@ all:
 	$(call RUN,bar)
 	rm $(call STATICLIB,foo*)
 	$(call RUN,bar)
+
+else
+all:
+
+endif
diff --git a/src/test/run-make/dep-info-custom/Makefile b/src/test/run-make/dep-info-custom/Makefile
index 72ce26ee6c6..ca70ccae3da 100644
--- a/src/test/run-make/dep-info-custom/Makefile
+++ b/src/test/run-make/dep-info-custom/Makefile
@@ -1,5 +1,7 @@
 -include ../tools.mk
 
+# FIXME
+ifneq ($(shell uname),FreeBSD)
 all:
 	$(RUSTC) --dep-info $(TMPDIR)/custom-deps-file.d --crate-type=lib lib.rs
 	sleep 1
@@ -10,3 +12,7 @@ all:
 	pwd
 	$(MAKE) -drf Makefile.foo
 	rm $(TMPDIR)/done && exit 1 || exit 0
+else
+all:
+
+endif
diff --git a/src/test/run-make/dep-info/Makefile b/src/test/run-make/dep-info/Makefile
index 00a59383176..277e7ad6294 100644
--- a/src/test/run-make/dep-info/Makefile
+++ b/src/test/run-make/dep-info/Makefile
@@ -1,12 +1,18 @@
 -include ../tools.mk
 
+ifneq ($(shell uname),FreeBSD)
 all:
 	$(RUSTC) --dep-info --crate-type=lib lib.rs
-	sleep 1
+	sleep 2
 	touch foo.rs
 	-rm -f $(TMPDIR)/done
 	$(MAKE) -drf Makefile.foo
+	sleep 2
 	rm $(TMPDIR)/done
 	pwd
 	$(MAKE) -drf Makefile.foo
 	rm $(TMPDIR)/done && exit 1 || exit 0
+else
+all:
+
+endif
diff --git a/src/test/run-make/lto-smoke-c/Makefile b/src/test/run-make/lto-smoke-c/Makefile
index 8658950f174..de8588bac9b 100644
--- a/src/test/run-make/lto-smoke-c/Makefile
+++ b/src/test/run-make/lto-smoke-c/Makefile
@@ -1,8 +1,13 @@
 -include ../tools.mk
 
-ifneq ($(shell uname),Darwin)
+ifeq ($(shell uname),Darwin)
+else
+ifeq ($(shell uname),FreeBSD)
+	EXTRAFLAGS := -lm -lpthread -lgcc_s
+else
 	EXTRAFLAGS := -lm -lrt -ldl -lpthread
 endif
+endif
 
 # Apparently older versions of GCC segfault if -g is passed...
 CC := $(CC:-g=)
diff --git a/src/test/run-pass-fulldeps/macro-crate-outlive-expansion-phase.rs b/src/test/run-pass-fulldeps/macro-crate-outlive-expansion-phase.rs
index cde78da3f61..f61cddace82 100644
--- a/src/test/run-pass-fulldeps/macro-crate-outlive-expansion-phase.rs
+++ b/src/test/run-pass-fulldeps/macro-crate-outlive-expansion-phase.rs
@@ -10,7 +10,6 @@
 
 // aux-build:macro_crate_outlive_expansion_phase.rs
 // ignore-stage1
-// ignore-fast
 // ignore-android
 // ignore-cross-compile #12102
 
diff --git a/src/test/run-pass-fulldeps/macro-crate.rs b/src/test/run-pass-fulldeps/macro-crate.rs
index e30498bb3c1..24d416a416c 100644
--- a/src/test/run-pass-fulldeps/macro-crate.rs
+++ b/src/test/run-pass-fulldeps/macro-crate.rs
@@ -10,7 +10,6 @@
 
 // aux-build:macro_crate_test.rs
 // ignore-stage1
-// ignore-fast
 // ignore-android
 // ignore-cross-compile #12102
 
diff --git a/src/test/run-pass-fulldeps/phase-syntax-link-does-resolve.rs b/src/test/run-pass-fulldeps/phase-syntax-link-does-resolve.rs
index ff82ff62a59..1700ceaec4f 100644
--- a/src/test/run-pass-fulldeps/phase-syntax-link-does-resolve.rs
+++ b/src/test/run-pass-fulldeps/phase-syntax-link-does-resolve.rs
@@ -10,7 +10,6 @@
 
 // aux-build:macro_crate_test.rs
 // ignore-stage1
-// ignore-fast
 // ignore-android
 // force-host
 
@@ -19,7 +18,6 @@
 // This implies that both versions are the host architecture, meaning this test
 // must also be compiled with the host arch.
 //
-// Hence, ignore-stage1 because macros are unstable around there, ignore-fast
 // because this doesn't work with that test runner, ignore-android because it
 // can't run host binaries, and force-host to make this test build as the host
 // arch.
diff --git a/src/test/run-pass-fulldeps/quote-unused-sp-no-warning.rs b/src/test/run-pass-fulldeps/quote-unused-sp-no-warning.rs
index ea2ffb8dcf8..e2b3781fbf9 100644
--- a/src/test/run-pass-fulldeps/quote-unused-sp-no-warning.rs
+++ b/src/test/run-pass-fulldeps/quote-unused-sp-no-warning.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // ignore-android
 #![feature(quote)]
 #[deny(unused_variable)];
diff --git a/src/test/run-pass-fulldeps/syntax-extension-fourcc.rs b/src/test/run-pass-fulldeps/syntax-extension-fourcc.rs
index 54687c03da5..53ea4fbe0c3 100644
--- a/src/test/run-pass-fulldeps/syntax-extension-fourcc.rs
+++ b/src/test/run-pass-fulldeps/syntax-extension-fourcc.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast Feature gating doesn't work
 // ignore-stage1
 // ignore-pretty
 // ignore-cross-compile
diff --git a/src/test/run-pass-fulldeps/syntax-extension-hexfloat.rs b/src/test/run-pass-fulldeps/syntax-extension-hexfloat.rs
index eb25d82e549..5eb6a30c015 100644
--- a/src/test/run-pass-fulldeps/syntax-extension-hexfloat.rs
+++ b/src/test/run-pass-fulldeps/syntax-extension-hexfloat.rs
@@ -11,7 +11,6 @@
 // ignore-stage1
 // ignore-pretty
 // ignore-cross-compile #12102
-// ignore-fast
 
 #![feature(phase)]
 #[phase(syntax)]
diff --git a/src/test/run-pass/anon-extern-mod-cross-crate-2.rs b/src/test/run-pass/anon-extern-mod-cross-crate-2.rs
index 8cadf4825f6..fd600907ddb 100644
--- a/src/test/run-pass/anon-extern-mod-cross-crate-2.rs
+++ b/src/test/run-pass/anon-extern-mod-cross-crate-2.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // ignore-pretty
 // aux-build:anon-extern-mod-cross-crate-1.rs
 extern crate anonexternmod;
diff --git a/src/test/run-pass/anon_trait_static_method_exe.rs b/src/test/run-pass/anon_trait_static_method_exe.rs
index c66a8a9d2ca..f420460a412 100644
--- a/src/test/run-pass/anon_trait_static_method_exe.rs
+++ b/src/test/run-pass/anon_trait_static_method_exe.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast - check-fast doesn't understand aux-build
 // aux-build:anon_trait_static_method_lib.rs
 
 extern crate anon_trait_static_method_lib;
diff --git a/src/test/run-pass/argument-passing.rs b/src/test/run-pass/argument-passing.rs
index e6f2edd6d59..75e197923c6 100644
--- a/src/test/run-pass/argument-passing.rs
+++ b/src/test/run-pass/argument-passing.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 struct X {
     x: int
diff --git a/src/test/run-pass/asm-concat-src.rs b/src/test/run-pass/asm-concat-src.rs
index 5615089dcdc..9df96b35ce1 100644
--- a/src/test/run-pass/asm-concat-src.rs
+++ b/src/test/run-pass/asm-concat-src.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast #[feature] doesn't work with check-fast
 #![feature(asm)]
 
 pub fn main() {
diff --git a/src/test/run-pass/asm-in-out-operand.rs b/src/test/run-pass/asm-in-out-operand.rs
index 0b5502aa330..8a921129f92 100644
--- a/src/test/run-pass/asm-in-out-operand.rs
+++ b/src/test/run-pass/asm-in-out-operand.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast #[feature] doesn't work with check-fast
 #![feature(asm)]
 
 #[cfg(target_arch = "x86")]
diff --git a/src/test/run-pass/asm-out-assign.rs b/src/test/run-pass/asm-out-assign.rs
index de2630d1ca9..ebbfbf925f9 100644
--- a/src/test/run-pass/asm-out-assign.rs
+++ b/src/test/run-pass/asm-out-assign.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast #[feature] doesn't work with check-fast
 #![feature(asm)]
 
 #[cfg(target_arch = "x86")]
diff --git a/src/test/run-pass/attr-main-2.rs b/src/test/run-pass/attr-main-2.rs
index 2227bbca352..8ae2c1600aa 100644
--- a/src/test/run-pass/attr-main-2.rs
+++ b/src/test/run-pass/attr-main-2.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 pub fn main() {
     fail!()
diff --git a/src/test/run-pass/attr-main.rs b/src/test/run-pass/attr-main.rs
index 796e198fd0d..cf8940b4d5b 100644
--- a/src/test/run-pass/attr-main.rs
+++ b/src/test/run-pass/attr-main.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 #[main]
 fn foo() {
diff --git a/src/test/run-pass/attr-shebang.rs b/src/test/run-pass/attr-shebang.rs
index f4919f768b9..95f3ea61dd8 100644
--- a/src/test/run-pass/attr-shebang.rs
+++ b/src/test/run-pass/attr-shebang.rs
@@ -2,4 +2,3 @@
 #![feature(bogus)]
 pub fn main() { }
 // ignore-license
-// ignore-fast
diff --git a/src/test/run-pass/attr-start.rs b/src/test/run-pass/attr-start.rs
index fa0632933ff..35a0da4dcf3 100644
--- a/src/test/run-pass/attr-start.rs
+++ b/src/test/run-pass/attr-start.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-//ignore-fast
 
 #[start]
 fn start(_argc: int, _argv: **u8) -> int {
diff --git a/src/test/run-pass/attr.rs b/src/test/run-pass/attr.rs
index 6a19a44e074..2f30eb8154f 100644
--- a/src/test/run-pass/attr.rs
+++ b/src/test/run-pass/attr.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
-
 #[main]
 fn foo() {
 }
diff --git a/src/test/run-pass/auto-encode.rs b/src/test/run-pass/auto-encode.rs
index e7ee6117992..a51439dceb8 100644
--- a/src/test/run-pass/auto-encode.rs
+++ b/src/test/run-pass/auto-encode.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // ignore-test FIXME(#5121)
-// ignore-fast
 
 #[feature(managed_boxes)];
 
diff --git a/src/test/run-pass/backtrace.rs b/src/test/run-pass/backtrace.rs
index a34403daaab..1ba37217ea2 100644
--- a/src/test/run-pass/backtrace.rs
+++ b/src/test/run-pass/backtrace.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // ignore-win32 FIXME #13259
-// ignore-fast this is executing itself
 #![no_uv]
 
 extern crate native;
diff --git a/src/test/run-pass/bind-by-move.rs b/src/test/run-pass/bind-by-move.rs
index e8cbd037434..d82393b8b7f 100644
--- a/src/test/run-pass/bind-by-move.rs
+++ b/src/test/run-pass/bind-by-move.rs
@@ -8,8 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 extern crate sync;
+
 use sync::Arc;
 fn dispose(_x: Arc<bool>) { }
 
diff --git a/src/test/run-pass/bitv-perf-test.rs b/src/test/run-pass/bitv-perf-test.rs
index 20b3ca0b3ba..658c888b8d8 100644
--- a/src/test/run-pass/bitv-perf-test.rs
+++ b/src/test/run-pass/bitv-perf-test.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/block-iter-1.rs b/src/test/run-pass/block-iter-1.rs
index 5bfbc447159..6ffb032090c 100644
--- a/src/test/run-pass/block-iter-1.rs
+++ b/src/test/run-pass/block-iter-1.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 
 fn iter_vec<T>(v: Vec<T> , f: |&T|) { for x in v.iter() { f(x); } }
diff --git a/src/test/run-pass/block-iter-2.rs b/src/test/run-pass/block-iter-2.rs
index aa77014dc7d..5f4154290ac 100644
--- a/src/test/run-pass/block-iter-2.rs
+++ b/src/test/run-pass/block-iter-2.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 
 fn iter_vec<T>(v: Vec<T> , f: |&T|) { for x in v.iter() { f(x); } }
diff --git a/src/test/run-pass/builtin-superkinds-capabilities-xc.rs b/src/test/run-pass/builtin-superkinds-capabilities-xc.rs
index 8c41e4f57c4..f52993f8559 100644
--- a/src/test/run-pass/builtin-superkinds-capabilities-xc.rs
+++ b/src/test/run-pass/builtin-superkinds-capabilities-xc.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 // aux-build:trait_superkinds_in_metadata.rs
 
diff --git a/src/test/run-pass/builtin-superkinds-in-metadata.rs b/src/test/run-pass/builtin-superkinds-in-metadata.rs
index 5261ea9d1e1..ba57f095e1a 100644
--- a/src/test/run-pass/builtin-superkinds-in-metadata.rs
+++ b/src/test/run-pass/builtin-superkinds-in-metadata.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 // aux-build:trait_superkinds_in_metadata.rs
 
diff --git a/src/test/run-pass/capturing-logging.rs b/src/test/run-pass/capturing-logging.rs
index 10976c5c612..bd4da3625db 100644
--- a/src/test/run-pass/capturing-logging.rs
+++ b/src/test/run-pass/capturing-logging.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // ignore-android (FIXME #11419)
 // exec-env:RUST_LOG=info
 
diff --git a/src/test/run-pass/cci_borrow.rs b/src/test/run-pass/cci_borrow.rs
index b276c8a8b07..bfc08502625 100644
--- a/src/test/run-pass/cci_borrow.rs
+++ b/src/test/run-pass/cci_borrow.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast - check-fast doesn't understand aux-build
 // aux-build:cci_borrow_lib.rs
 
 #[feature(managed_boxes)];
diff --git a/src/test/run-pass/cci_capture_clause.rs b/src/test/run-pass/cci_capture_clause.rs
index fa96f65243e..c4bf8131506 100644
--- a/src/test/run-pass/cci_capture_clause.rs
+++ b/src/test/run-pass/cci_capture_clause.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // aux-build:cci_capture_clause.rs
-// ignore-fast
 
 // This test makes sure we can do cross-crate inlining on functions
 // that use capture clauses.
diff --git a/src/test/run-pass/cci_impl_exe.rs b/src/test/run-pass/cci_impl_exe.rs
index ee01849e7e7..8a291febb6d 100644
--- a/src/test/run-pass/cci_impl_exe.rs
+++ b/src/test/run-pass/cci_impl_exe.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast - check-fast doesn't understand aux-build
 // aux-build:cci_impl_lib.rs
 
 extern crate cci_impl_lib;
diff --git a/src/test/run-pass/cci_iter_exe.rs b/src/test/run-pass/cci_iter_exe.rs
index 4a5770b3c6c..0519ba6662b 100644
--- a/src/test/run-pass/cci_iter_exe.rs
+++ b/src/test/run-pass/cci_iter_exe.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast - check-fast doesn't understand aux-build
 // aux-build:cci_iter_lib.rs
 
 extern crate cci_iter_lib;
diff --git a/src/test/run-pass/cci_nested_exe.rs b/src/test/run-pass/cci_nested_exe.rs
index 3810f7919ac..27ef4a19a53 100644
--- a/src/test/run-pass/cci_nested_exe.rs
+++ b/src/test/run-pass/cci_nested_exe.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast - check-fast doesn't understand aux-build
 // aux-build:cci_nested_lib.rs
 
 #[feature(globs, managed_boxes)];
diff --git a/src/test/run-pass/cci_no_inline_exe.rs b/src/test/run-pass/cci_no_inline_exe.rs
index 64da1feb34c..2f02fc9acb9 100644
--- a/src/test/run-pass/cci_no_inline_exe.rs
+++ b/src/test/run-pass/cci_no_inline_exe.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast - check-fast doesn't understand aux-build
 // aux-build:cci_no_inline_lib.rs
 
 extern crate cci_no_inline_lib;
diff --git a/src/test/run-pass/cfg-macros-foo.rs b/src/test/run-pass/cfg-macros-foo.rs
index 6b447b88711..9eb44d510a9 100644
--- a/src/test/run-pass/cfg-macros-foo.rs
+++ b/src/test/run-pass/cfg-macros-foo.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast compile-flags directive doesn't work for check-fast
 // compile-flags: --cfg foo
 
 // check that cfg correctly chooses between the macro impls (see also
diff --git a/src/test/run-pass/cfg-macros-notfoo.rs b/src/test/run-pass/cfg-macros-notfoo.rs
index da62eaffc41..3084e087bd2 100644
--- a/src/test/run-pass/cfg-macros-notfoo.rs
+++ b/src/test/run-pass/cfg-macros-notfoo.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast compile-flags directive doesn't work for check-fast
 // compile-flags:
 
 // check that cfg correctly chooses between the macro impls (see also
diff --git a/src/test/run-pass/cfg_inner_static.rs b/src/test/run-pass/cfg_inner_static.rs
index 08951dfd50e..04912fc2003 100644
--- a/src/test/run-pass/cfg_inner_static.rs
+++ b/src/test/run-pass/cfg_inner_static.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // aux-build:cfg_inner_static.rs
-// ignore-fast
 
 extern crate cfg_inner_static;
 
diff --git a/src/test/run-pass/cfgs-on-items.rs b/src/test/run-pass/cfgs-on-items.rs
index f1c91dbaf35..205dce64b78 100644
--- a/src/test/run-pass/cfgs-on-items.rs
+++ b/src/test/run-pass/cfgs-on-items.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // compile-flags: --cfg fooA --cfg fooB
 
 // fooA AND !bar
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 a9a11361f9b..f6a6808c9e7 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,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:cci_class_cast.rs
 extern crate cci_class_cast;
 use std::to_str::ToStr;
diff --git a/src/test/run-pass/class-cast-to-trait.rs b/src/test/run-pass/class-cast-to-trait.rs
index b57851ea3cf..6750e43525f 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.
 
+// ignore-freebsd FIXME fails on BSD
+
 #[feature(managed_boxes)];
 
 trait noisy {
diff --git a/src/test/run-pass/class-exports.rs b/src/test/run-pass/class-exports.rs
index 016b38826e5..62b2824b974 100644
--- a/src/test/run-pass/class-exports.rs
+++ b/src/test/run-pass/class-exports.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/class-impl-very-parameterized-trait.rs b/src/test/run-pass/class-impl-very-parameterized-trait.rs
index e70341612df..bbdc7997aba 100644
--- a/src/test/run-pass/class-impl-very-parameterized-trait.rs
+++ b/src/test/run-pass/class-impl-very-parameterized-trait.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 use std::cmp;
 
diff --git a/src/test/run-pass/class-implement-trait-cross-crate.rs b/src/test/run-pass/class-implement-trait-cross-crate.rs
index 1b4a9fbd099..fa78b7c3e98 100644
--- a/src/test/run-pass/class-implement-trait-cross-crate.rs
+++ b/src/test/run-pass/class-implement-trait-cross-crate.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:cci_class_trait.rs
 extern crate cci_class_trait;
 use cci_class_trait::animals::noisy;
diff --git a/src/test/run-pass/class-implement-traits.rs b/src/test/run-pass/class-implement-traits.rs
index d967310b907..9fbdaa8c019 100644
--- a/src/test/run-pass/class-implement-traits.rs
+++ b/src/test/run-pass/class-implement-traits.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 trait noisy {
     fn speak(&mut self);
diff --git a/src/test/run-pass/class-method-cross-crate.rs b/src/test/run-pass/class-method-cross-crate.rs
index 8ee367d281f..e05ed750b5d 100644
--- a/src/test/run-pass/class-method-cross-crate.rs
+++ b/src/test/run-pass/class-method-cross-crate.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:cci_class_2.rs
 extern crate cci_class_2;
 use cci_class_2::kitties::cat;
diff --git a/src/test/run-pass/class-methods-cross-crate.rs b/src/test/run-pass/class-methods-cross-crate.rs
index ca3b491844f..4ff28700777 100644
--- a/src/test/run-pass/class-methods-cross-crate.rs
+++ b/src/test/run-pass/class-methods-cross-crate.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:cci_class_3.rs
 extern crate cci_class_3;
 use cci_class_3::kitties::cat;
diff --git a/src/test/run-pass/class-poly-methods-cross-crate.rs b/src/test/run-pass/class-poly-methods-cross-crate.rs
index f8177bb0ada..ea3becb7060 100644
--- a/src/test/run-pass/class-poly-methods-cross-crate.rs
+++ b/src/test/run-pass/class-poly-methods-cross-crate.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:cci_class_6.rs
 extern crate cci_class_6;
 use cci_class_6::kitties::cat;
diff --git a/src/test/run-pass/class-separate-impl.rs b/src/test/run-pass/class-separate-impl.rs
index a93f7c9d73b..637cdc63848 100644
--- a/src/test/run-pass/class-separate-impl.rs
+++ b/src/test/run-pass/class-separate-impl.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
-
 use std::fmt;
 
 struct cat {
diff --git a/src/test/run-pass/classes-cross-crate.rs b/src/test/run-pass/classes-cross-crate.rs
index 2e1d19b9dda..c6b4af77f9f 100644
--- a/src/test/run-pass/classes-cross-crate.rs
+++ b/src/test/run-pass/classes-cross-crate.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:cci_class_4.rs
 extern crate cci_class_4;
 use cci_class_4::kitties::cat;
diff --git a/src/test/run-pass/classes-simple-cross-crate.rs b/src/test/run-pass/classes-simple-cross-crate.rs
index 6d816e725b9..f6f742fb1df 100644
--- a/src/test/run-pass/classes-simple-cross-crate.rs
+++ b/src/test/run-pass/classes-simple-cross-crate.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:cci_class.rs
 extern crate cci_class;
 use cci_class::kitties::cat;
diff --git a/src/test/run-pass/closure-inference.rs b/src/test/run-pass/closure-inference.rs
index 4b74ed3d4a7..410b7416546 100644
--- a/src/test/run-pass/closure-inference.rs
+++ b/src/test/run-pass/closure-inference.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 fn foo(i: int) -> int { i + 1 }
 
diff --git a/src/test/run-pass/conditional-compile.rs b/src/test/run-pass/conditional-compile.rs
index ba1011de081..ebb495de88b 100644
--- a/src/test/run-pass/conditional-compile.rs
+++ b/src/test/run-pass/conditional-compile.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/conditional-debug-macro-off.rs b/src/test/run-pass/conditional-debug-macro-off.rs
index 460846ef31c..944141839cf 100644
--- a/src/test/run-pass/conditional-debug-macro-off.rs
+++ b/src/test/run-pass/conditional-debug-macro-off.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast exec-env directive doesn't work for check-fast
 // compile-flags: --cfg ndebug
 // exec-env:RUST_LOG=conditional-debug-macro-off=4
 
diff --git a/src/test/run-pass/conditional-debug-macro-on.rs b/src/test/run-pass/conditional-debug-macro-on.rs
index 324f1aade04..732c50afbf3 100644
--- a/src/test/run-pass/conditional-debug-macro-on.rs
+++ b/src/test/run-pass/conditional-debug-macro-on.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast compile-flags directive doesn't work for check-fast
 // exec-env:RUST_LOG=conditional-debug-macro-on=4
 
 pub fn main() {
diff --git a/src/test/run-pass/const-cross-crate-const.rs b/src/test/run-pass/const-cross-crate-const.rs
index c8dc98baac6..bcf58431d0d 100644
--- a/src/test/run-pass/const-cross-crate-const.rs
+++ b/src/test/run-pass/const-cross-crate-const.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:cci_const.rs
 
 extern crate cci_const;
diff --git a/src/test/run-pass/const-cross-crate-extern.rs b/src/test/run-pass/const-cross-crate-extern.rs
index f5f6b599dc9..a299c74aa5b 100644
--- a/src/test/run-pass/const-cross-crate-extern.rs
+++ b/src/test/run-pass/const-cross-crate-extern.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:cci_const.rs
 
 extern crate cci_const;
diff --git a/src/test/run-pass/core-run-destroy.rs b/src/test/run-pass/core-run-destroy.rs
index 10c1d474f1a..c808534257a 100644
--- a/src/test/run-pass/core-run-destroy.rs
+++ b/src/test/run-pass/core-run-destroy.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // ignore-pretty
 // compile-flags:--test
 
diff --git a/src/test/run-pass/crate-method-reexport-grrrrrrr.rs b/src/test/run-pass/crate-method-reexport-grrrrrrr.rs
index 1b563d33433..e55508b4c15 100644
--- a/src/test/run-pass/crate-method-reexport-grrrrrrr.rs
+++ b/src/test/run-pass/crate-method-reexport-grrrrrrr.rs
@@ -14,7 +14,6 @@
 // name_pool::methods impl in the other crate is reachable from this
 // crate.
 
-// ignore-fast
 // aux-build:crate-method-reexport-grrrrrrr2.rs
 
 extern crate crate_method_reexport_grrrrrrr2;
diff --git a/src/test/run-pass/crateresolve1.rs b/src/test/run-pass/crateresolve1.rs
index bf13e66690c..61e269bf9e3 100644
--- a/src/test/run-pass/crateresolve1.rs
+++ b/src/test/run-pass/crateresolve1.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:crateresolve1-1.rs
 // aux-build:crateresolve1-2.rs
 // aux-build:crateresolve1-3.rs
diff --git a/src/test/run-pass/crateresolve2.rs b/src/test/run-pass/crateresolve2.rs
index 1419d68ad68..5ed1f37c7b9 100644
--- a/src/test/run-pass/crateresolve2.rs
+++ b/src/test/run-pass/crateresolve2.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:crateresolve2-1.rs
 // aux-build:crateresolve2-2.rs
 // aux-build:crateresolve2-3.rs
diff --git a/src/test/run-pass/crateresolve3.rs b/src/test/run-pass/crateresolve3.rs
index fd83c8f515a..cee9e6991c4 100644
--- a/src/test/run-pass/crateresolve3.rs
+++ b/src/test/run-pass/crateresolve3.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:crateresolve3-1.rs
 // aux-build:crateresolve3-2.rs
 
diff --git a/src/test/run-pass/crateresolve4.rs b/src/test/run-pass/crateresolve4.rs
index 3243c909e03..c6896152226 100644
--- a/src/test/run-pass/crateresolve4.rs
+++ b/src/test/run-pass/crateresolve4.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:crateresolve4a-1.rs
 // aux-build:crateresolve4a-2.rs
 // aux-build:crateresolve4b-1.rs
diff --git a/src/test/run-pass/crateresolve5.rs b/src/test/run-pass/crateresolve5.rs
index ca690b9089b..3f74731090b 100644
--- a/src/test/run-pass/crateresolve5.rs
+++ b/src/test/run-pass/crateresolve5.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:crateresolve5-1.rs
 // aux-build:crateresolve5-2.rs
 
diff --git a/src/test/run-pass/crateresolve8.rs b/src/test/run-pass/crateresolve8.rs
index 46ccb01f660..1ce8a8a7350 100644
--- a/src/test/run-pass/crateresolve8.rs
+++ b/src/test/run-pass/crateresolve8.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:crateresolve8-1.rs
 
 #[crate_id="crateresolve8#0.1"];
diff --git a/src/test/run-pass/cross-crate-const-pat.rs b/src/test/run-pass/cross-crate-const-pat.rs
index 9e3a43469f2..14be5773e84 100644
--- a/src/test/run-pass/cross-crate-const-pat.rs
+++ b/src/test/run-pass/cross-crate-const-pat.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:cci_const.rs
 
 extern crate cci_const;
diff --git a/src/test/run-pass/cross-crate-newtype-struct-pat.rs b/src/test/run-pass/cross-crate-newtype-struct-pat.rs
index 8988ee52b16..c2083c8e705 100644
--- a/src/test/run-pass/cross-crate-newtype-struct-pat.rs
+++ b/src/test/run-pass/cross-crate-newtype-struct-pat.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:newtype_struct_xc.rs
 
 extern crate newtype_struct_xc;
diff --git a/src/test/run-pass/deep-vector.rs b/src/test/run-pass/deep-vector.rs
index 6a05dafb17c..20785780d2c 100644
--- a/src/test/run-pass/deep-vector.rs
+++ b/src/test/run-pass/deep-vector.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // ignore-test
-// ignore-fast
 //
 // Too big for our poor macro infrastructure.
 
diff --git a/src/test/run-pass/deep-vector2.rs b/src/test/run-pass/deep-vector2.rs
index 615e94c3f4e..27258ed578a 100644
--- a/src/test/run-pass/deep-vector2.rs
+++ b/src/test/run-pass/deep-vector2.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // ignore-test
-// ignore-fast
 //
 // Too big for our poor macro infrastructure.
 
diff --git a/src/test/run-pass/deriving-encodable-decodable.rs b/src/test/run-pass/deriving-encodable-decodable.rs
index 75567efa470..2742696a74d 100644
--- a/src/test/run-pass/deriving-encodable-decodable.rs
+++ b/src/test/run-pass/deriving-encodable-decodable.rs
@@ -11,7 +11,6 @@
 // This actually tests a lot more than just encodable/decodable, but it gets the
 // job done at least
 
-// ignore-fast
 // ignore-test FIXME(#5121)
 
 #[feature(struct_variant, managed_boxes)];
diff --git a/src/test/run-pass/deriving-global.rs b/src/test/run-pass/deriving-global.rs
index a174b2c7ab1..55e2615835a 100644
--- a/src/test/run-pass/deriving-global.rs
+++ b/src/test/run-pass/deriving-global.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast #7103 `extern crate` does not work on check-fast
 // ignore-pretty - does not converge
 
 // Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT
diff --git a/src/test/run-pass/deriving-hash.rs b/src/test/run-pass/deriving-hash.rs
index 087b7ce56ab..59d3383faf3 100644
--- a/src/test/run-pass/deriving-hash.rs
+++ b/src/test/run-pass/deriving-hash.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 use std::hash;
 use std::hash::Hash;
diff --git a/src/test/run-pass/deriving-meta-empty-trait-list.rs b/src/test/run-pass/deriving-meta-empty-trait-list.rs
index b091c1a7639..e851ff566d5 100644
--- a/src/test/run-pass/deriving-meta-empty-trait-list.rs
+++ b/src/test/run-pass/deriving-meta-empty-trait-list.rs
@@ -10,7 +10,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 #[deriving]   //~ WARNING empty trait list in `deriving`
 struct Foo;
diff --git a/src/test/run-pass/deriving-meta-multiple.rs b/src/test/run-pass/deriving-meta-multiple.rs
index 069f50f89f4..1eb7631da04 100644
--- a/src/test/run-pass/deriving-meta-multiple.rs
+++ b/src/test/run-pass/deriving-meta-multiple.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/deriving-meta.rs b/src/test/run-pass/deriving-meta.rs
index 069f50f89f4..1eb7631da04 100644
--- a/src/test/run-pass/deriving-meta.rs
+++ b/src/test/run-pass/deriving-meta.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/deriving-rand.rs b/src/test/run-pass/deriving-rand.rs
index c43d8a26fd9..9b295a57915 100644
--- a/src/test/run-pass/deriving-rand.rs
+++ b/src/test/run-pass/deriving-rand.rs
@@ -1,4 +1,3 @@
-// ignore-fast #6330
 // Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
 // http://rust-lang.org/COPYRIGHT.
@@ -9,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast #7103 `extern crate` does not work on check-fast
 
 #[feature(struct_variant)];
 
diff --git a/src/test/run-pass/deriving-via-extension-hash-enum.rs b/src/test/run-pass/deriving-via-extension-hash-enum.rs
index fed10567a19..778767cfcc1 100644
--- a/src/test/run-pass/deriving-via-extension-hash-enum.rs
+++ b/src/test/run-pass/deriving-via-extension-hash-enum.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/deriving-via-extension-hash-struct.rs b/src/test/run-pass/deriving-via-extension-hash-struct.rs
index 57c13a504d3..a281c5156b6 100644
--- a/src/test/run-pass/deriving-via-extension-hash-struct.rs
+++ b/src/test/run-pass/deriving-via-extension-hash-struct.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/deriving-via-extension-type-params.rs b/src/test/run-pass/deriving-via-extension-type-params.rs
index 077d82ec6dc..42915d8119d 100644
--- a/src/test/run-pass/deriving-via-extension-type-params.rs
+++ b/src/test/run-pass/deriving-via-extension-type-params.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/duplicated-external-mods.rs b/src/test/run-pass/duplicated-external-mods.rs
index b50fd7cbb34..65e2b178abf 100644
--- a/src/test/run-pass/duplicated-external-mods.rs
+++ b/src/test/run-pass/duplicated-external-mods.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:anon-extern-mod-cross-crate-1.rs
 // aux-build:anon-extern-mod-cross-crate-1.rs
 extern crate anonexternmod;
diff --git a/src/test/run-pass/evec-internal.rs b/src/test/run-pass/evec-internal.rs
index eb00bf205cf..36b5f86aeda 100644
--- a/src/test/run-pass/evec-internal.rs
+++ b/src/test/run-pass/evec-internal.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // ignore-test
-// ignore-fast
 
 // Doesn't work; needs a design decision.
 
diff --git a/src/test/run-pass/exec-env.rs b/src/test/run-pass/exec-env.rs
index 9b251d4be77..317dfe3f927 100644
--- a/src/test/run-pass/exec-env.rs
+++ b/src/test/run-pass/exec-env.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast (exec-env not supported in fast mode)
 // exec-env:TEST_EXEC_ENV=22
 
 use std::os;
diff --git a/src/test/run-pass/explicit_self_xcrate_exe.rs b/src/test/run-pass/explicit_self_xcrate_exe.rs
index ce805fcf737..789d8f4b06f 100644
--- a/src/test/run-pass/explicit_self_xcrate_exe.rs
+++ b/src/test/run-pass/explicit_self_xcrate_exe.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:explicit_self_xcrate.rs
 
 extern crate explicit_self_xcrate;
diff --git a/src/test/run-pass/export-glob-imports-target.rs b/src/test/run-pass/export-glob-imports-target.rs
index e4f037e4563..b960a31bc0c 100644
--- a/src/test/run-pass/export-glob-imports-target.rs
+++ b/src/test/run-pass/export-glob-imports-target.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/export-multi.rs b/src/test/run-pass/export-multi.rs
index a823123bc77..2e44bf5be5b 100644
--- a/src/test/run-pass/export-multi.rs
+++ b/src/test/run-pass/export-multi.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/export-non-interference3.rs b/src/test/run-pass/export-non-interference3.rs
index a0d97383f0a..091c389840a 100644
--- a/src/test/run-pass/export-non-interference3.rs
+++ b/src/test/run-pass/export-non-interference3.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/expr-block-generic-box2.rs b/src/test/run-pass/expr-block-generic-box2.rs
index 5eb3f36ce1b..7a5df556400 100644
--- a/src/test/run-pass/expr-block-generic-box2.rs
+++ b/src/test/run-pass/expr-block-generic-box2.rs
@@ -10,7 +10,6 @@
 
 #[feature(managed_boxes)];
 
-// ignore-fast
 
 type compare<'a, T> = |T, T|: 'a -> bool;
 
diff --git a/src/test/run-pass/expr-block-generic-unique2.rs b/src/test/run-pass/expr-block-generic-unique2.rs
index 85a1d137d21..f45312f9e09 100644
--- a/src/test/run-pass/expr-block-generic-unique2.rs
+++ b/src/test/run-pass/expr-block-generic-unique2.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 type compare<'a, T> = |T, T|: 'a -> bool;
 
diff --git a/src/test/run-pass/expr-block-generic.rs b/src/test/run-pass/expr-block-generic.rs
index 4c8a32ce3cb..677914fd60e 100644
--- a/src/test/run-pass/expr-block-generic.rs
+++ b/src/test/run-pass/expr-block-generic.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 
-// ignore-fast
 
 // Tests for standalone blocks as expressions with dynamic type sizes
 type compare<'a, T> = |T, T|: 'a -> bool;
diff --git a/src/test/run-pass/expr-copy.rs b/src/test/run-pass/expr-copy.rs
index d47ef3c7f90..4a45ce66058 100644
--- a/src/test/run-pass/expr-copy.rs
+++ b/src/test/run-pass/expr-copy.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 fn f(arg: &mut A) {
     arg.a = 100;
diff --git a/src/test/run-pass/expr-if-generic-box2.rs b/src/test/run-pass/expr-if-generic-box2.rs
index 8b78aabd860..ffbb4764464 100644
--- a/src/test/run-pass/expr-if-generic-box2.rs
+++ b/src/test/run-pass/expr-if-generic-box2.rs
@@ -10,7 +10,6 @@
 
 #[feature(managed_boxes)];
 
-// ignore-fast
 
 type compare<T> = |T, T|: 'static -> bool;
 
diff --git a/src/test/run-pass/expr-if-generic.rs b/src/test/run-pass/expr-if-generic.rs
index f250db1f692..b7408440404 100644
--- a/src/test/run-pass/expr-if-generic.rs
+++ b/src/test/run-pass/expr-if-generic.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 // Tests for if as expressions with dynamic type sizes
 type compare<T> = |T, T|: 'static -> bool;
diff --git a/src/test/run-pass/expr-match-generic-box2.rs b/src/test/run-pass/expr-match-generic-box2.rs
index 01b46528c7b..f342c141541 100644
--- a/src/test/run-pass/expr-match-generic-box2.rs
+++ b/src/test/run-pass/expr-match-generic-box2.rs
@@ -10,7 +10,6 @@
 
 #[feature(managed_boxes)];
 
-// ignore-fast
 
 type compare<T> = |T, T|: 'static -> bool;
 
diff --git a/src/test/run-pass/expr-match-generic-unique2.rs b/src/test/run-pass/expr-match-generic-unique2.rs
index 6c1a6d22de7..d229672d057 100644
--- a/src/test/run-pass/expr-match-generic-unique2.rs
+++ b/src/test/run-pass/expr-match-generic-unique2.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 type compare<'a, T> = |T, T|: 'a -> bool;
 
diff --git a/src/test/run-pass/expr-match-generic.rs b/src/test/run-pass/expr-match-generic.rs
index 4e7e7d6bdcf..ff19862fee3 100644
--- a/src/test/run-pass/expr-match-generic.rs
+++ b/src/test/run-pass/expr-match-generic.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 type compare<T> = extern "Rust" fn(T, T) -> bool;
 
diff --git a/src/test/run-pass/expr-scope.rs b/src/test/run-pass/expr-scope.rs
index b79f9397bb0..324ff59dcb8 100644
--- a/src/test/run-pass/expr-scope.rs
+++ b/src/test/run-pass/expr-scope.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // Regression test for issue #762
-// ignore-fast
 
 pub fn f() { }
 pub fn main() { return ::f(); }
diff --git a/src/test/run-pass/extern-calling-convention-test.rs b/src/test/run-pass/extern-calling-convention-test.rs
index b895466cf7e..bdb1326aa15 100644
--- a/src/test/run-pass/extern-calling-convention-test.rs
+++ b/src/test/run-pass/extern-calling-convention-test.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast: aux-build not compatible with fast
 // aux-build:extern_calling_convention.rs
 
 extern crate extern_calling_convention;
diff --git a/src/test/run-pass/extern-crosscrate.rs b/src/test/run-pass/extern-crosscrate.rs
index 43c7887d3ef..3faf5744199 100644
--- a/src/test/run-pass/extern-crosscrate.rs
+++ b/src/test/run-pass/extern-crosscrate.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 //aux-build:extern-crosscrate-source.rs
 
 extern crate externcallback = "externcallback#0.1";
diff --git a/src/test/run-pass/extern-fn-reachable.rs b/src/test/run-pass/extern-fn-reachable.rs
index d0f12ae7b10..615013888bd 100644
--- a/src/test/run-pass/extern-fn-reachable.rs
+++ b/src/test/run-pass/extern-fn-reachable.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // ignore-win32 dynamic_lib can read dllexported symbols only
 // ignore-linux apparently dlsym doesn't work on program symbols?
 // ignore-android apparently dlsym doesn't work on program symbols?
diff --git a/src/test/run-pass/extern-mod-ordering-exe.rs b/src/test/run-pass/extern-mod-ordering-exe.rs
index f228c0c0992..7e9e6073252 100644
--- a/src/test/run-pass/extern-mod-ordering-exe.rs
+++ b/src/test/run-pass/extern-mod-ordering-exe.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // aux-build:extern_mod_ordering_lib.rs
-// ignore-fast
 
 extern crate extern_mod_ordering_lib;
 
diff --git a/src/test/run-pass/extern-mod-syntax.rs b/src/test/run-pass/extern-mod-syntax.rs
index e31a9e3f7f5..f6136b153a1 100644
--- a/src/test/run-pass/extern-mod-syntax.rs
+++ b/src/test/run-pass/extern-mod-syntax.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/fixed_length_vec_glue.rs b/src/test/run-pass/fixed_length_vec_glue.rs
index 1e3754c61cf..1a786e968ca 100644
--- a/src/test/run-pass/fixed_length_vec_glue.rs
+++ b/src/test/run-pass/fixed_length_vec_glue.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast: check-fast screws up repr paths
 
 use std::repr;
 
diff --git a/src/test/run-pass/foreign-dupe.rs b/src/test/run-pass/foreign-dupe.rs
index a36083e8293..4da7d0fb743 100644
--- a/src/test/run-pass/foreign-dupe.rs
+++ b/src/test/run-pass/foreign-dupe.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast - Somehow causes check-fast to livelock?? Probably because we're
 // calling pin_task and that's having wierd side-effects.
 
 mod rustrt1 {
diff --git a/src/test/run-pass/generic-default-type-params-cross-crate.rs b/src/test/run-pass/generic-default-type-params-cross-crate.rs
index 72b41601891..ae168cb17c6 100644
--- a/src/test/run-pass/generic-default-type-params-cross-crate.rs
+++ b/src/test/run-pass/generic-default-type-params-cross-crate.rs
@@ -10,7 +10,6 @@
 
 // aux-build:default_type_params_xc.rs
 
-// ignore-fast #[feature] doesn't work with check-fast
 #[feature(default_type_params)];
 
 extern crate default_type_params_xc;
diff --git a/src/test/run-pass/generic-default-type-params.rs b/src/test/run-pass/generic-default-type-params.rs
index 8be8fcbdd54..360f0884575 100644
--- a/src/test/run-pass/generic-default-type-params.rs
+++ b/src/test/run-pass/generic-default-type-params.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast #[feature] doesn't work with check-fast
 #[feature(default_type_params)];
 
 struct Foo<A = (int, char)> {
diff --git a/src/test/run-pass/generic-temporary.rs b/src/test/run-pass/generic-temporary.rs
index 99be8a5478c..3db794d88f0 100644
--- a/src/test/run-pass/generic-temporary.rs
+++ b/src/test/run-pass/generic-temporary.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 fn mk() -> int { return 1; }
 
diff --git a/src/test/run-pass/getopts_ref.rs b/src/test/run-pass/getopts_ref.rs
index a4cae79c037..6ccd9c33be9 100644
--- a/src/test/run-pass/getopts_ref.rs
+++ b/src/test/run-pass/getopts_ref.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/glob-std.rs b/src/test/run-pass/glob-std.rs
index 0a12731fb46..a19a8a1c8ec 100644
--- a/src/test/run-pass/glob-std.rs
+++ b/src/test/run-pass/glob-std.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast check-fast doesn't like 'extern crate extra'
 // ignore-win32 TempDir may cause IoError on windows: #10462
 
 #[feature(macro_rules)];
diff --git a/src/test/run-pass/global-scope.rs b/src/test/run-pass/global-scope.rs
index a76b9d5ca0a..618916e8569 100644
--- a/src/test/run-pass/global-scope.rs
+++ b/src/test/run-pass/global-scope.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 pub fn f() -> int { return 1; }
 
diff --git a/src/test/run-pass/hashmap-memory.rs b/src/test/run-pass/hashmap-memory.rs
index 3ff7fea95f1..94035ddc7bb 100644
--- a/src/test/run-pass/hashmap-memory.rs
+++ b/src/test/run-pass/hashmap-memory.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/ifmt.rs b/src/test/run-pass/ifmt.rs
index 1676463e544..17c54780fa2 100644
--- a/src/test/run-pass/ifmt.rs
+++ b/src/test/run-pass/ifmt.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast: check-fast screws up repr paths
 
 #[feature(macro_rules)];
 #![deny(warnings)]
diff --git a/src/test/run-pass/impl-privacy-xc-1.rs b/src/test/run-pass/impl-privacy-xc-1.rs
index 9665d4d684d..d7e53f3c38f 100644
--- a/src/test/run-pass/impl-privacy-xc-1.rs
+++ b/src/test/run-pass/impl-privacy-xc-1.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // aux-build:impl_privacy_xc_1.rs
-// ignore-fast
 
 extern crate impl_privacy_xc_1;
 
diff --git a/src/test/run-pass/impl-privacy-xc-2.rs b/src/test/run-pass/impl-privacy-xc-2.rs
index 8e67a5c74c5..3ef4b43d079 100644
--- a/src/test/run-pass/impl-privacy-xc-2.rs
+++ b/src/test/run-pass/impl-privacy-xc-2.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // aux-build:impl_privacy_xc_2.rs
-// ignore-fast
 
 extern crate impl_privacy_xc_2;
 
diff --git a/src/test/run-pass/import-from.rs b/src/test/run-pass/import-from.rs
index 74f839546de..bbf914411fd 100644
--- a/src/test/run-pass/import-from.rs
+++ b/src/test/run-pass/import-from.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/import-glob-0.rs b/src/test/run-pass/import-glob-0.rs
index 5f4bf557b23..44d98852054 100644
--- a/src/test/run-pass/import-glob-0.rs
+++ b/src/test/run-pass/import-glob-0.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/import-glob-crate.rs b/src/test/run-pass/import-glob-crate.rs
index e1ca890f4fd..a154388b2c5 100644
--- a/src/test/run-pass/import-glob-crate.rs
+++ b/src/test/run-pass/import-glob-crate.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/import-trailing-comma.rs b/src/test/run-pass/import-trailing-comma.rs
index 5a3bc43e04b..42a90b3e39a 100644
--- a/src/test/run-pass/import-trailing-comma.rs
+++ b/src/test/run-pass/import-trailing-comma.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/import.rs b/src/test/run-pass/import.rs
index 5765df4dafa..6b0ad24da1d 100644
--- a/src/test/run-pass/import.rs
+++ b/src/test/run-pass/import.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/import2.rs b/src/test/run-pass/import2.rs
index 7a3c6a13877..d684c30aca1 100644
--- a/src/test/run-pass/import2.rs
+++ b/src/test/run-pass/import2.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/import3.rs b/src/test/run-pass/import3.rs
index 651f86e5898..1bbe141eaff 100644
--- a/src/test/run-pass/import3.rs
+++ b/src/test/run-pass/import3.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/import4.rs b/src/test/run-pass/import4.rs
index ff858e81bb8..44f6b6140fb 100644
--- a/src/test/run-pass/import4.rs
+++ b/src/test/run-pass/import4.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/import5.rs b/src/test/run-pass/import5.rs
index f41e4d7d373..18cc1aa0848 100644
--- a/src/test/run-pass/import5.rs
+++ b/src/test/run-pass/import5.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/import6.rs b/src/test/run-pass/import6.rs
index cf8dfd5469c..a6b3d90a4ee 100644
--- a/src/test/run-pass/import6.rs
+++ b/src/test/run-pass/import6.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/import7.rs b/src/test/run-pass/import7.rs
index fadbc534519..d5c9bc23e2a 100644
--- a/src/test/run-pass/import7.rs
+++ b/src/test/run-pass/import7.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/import8.rs b/src/test/run-pass/import8.rs
index 69706a324b6..58ccf3aaa1e 100644
--- a/src/test/run-pass/import8.rs
+++ b/src/test/run-pass/import8.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/inner-static.rs b/src/test/run-pass/inner-static.rs
index 3e04a8a3922..f9b430c1553 100644
--- a/src/test/run-pass/inner-static.rs
+++ b/src/test/run-pass/inner-static.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // aux-build:inner_static.rs
-// ignore-fast
 
 extern crate inner_static;
 
diff --git a/src/test/run-pass/intrinsic-alignment.rs b/src/test/run-pass/intrinsic-alignment.rs
index 010ab8be747..12385a26437 100644
--- a/src/test/run-pass/intrinsic-alignment.rs
+++ b/src/test/run-pass/intrinsic-alignment.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast Does not work with main in a submodule
 
 mod rusti {
     extern "rust-intrinsic" {
diff --git a/src/test/run-pass/intrinsic-atomics-cc.rs b/src/test/run-pass/intrinsic-atomics-cc.rs
index 7fda83a14bb..e6a81dbe5d9 100644
--- a/src/test/run-pass/intrinsic-atomics-cc.rs
+++ b/src/test/run-pass/intrinsic-atomics-cc.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast - check-fast doesn't understand aux-build
 // aux-build:cci_intrinsic.rs
 
 extern crate cci_intrinsic;
diff --git a/src/test/run-pass/intrinsics-integer.rs b/src/test/run-pass/intrinsics-integer.rs
index 867e12d4139..164d16fe503 100644
--- a/src/test/run-pass/intrinsics-integer.rs
+++ b/src/test/run-pass/intrinsics-integer.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/intrinsics-math.rs b/src/test/run-pass/intrinsics-math.rs
index db9edfbefdc..5e1981fbcbc 100644
--- a/src/test/run-pass/intrinsics-math.rs
+++ b/src/test/run-pass/intrinsics-math.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/invoke-external-foreign.rs b/src/test/run-pass/invoke-external-foreign.rs
index def9a590a83..2603e2d1b09 100644
--- a/src/test/run-pass/invoke-external-foreign.rs
+++ b/src/test/run-pass/invoke-external-foreign.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // ignore-pretty
 // aux-build:foreign_lib.rs
 
diff --git a/src/test/run-pass/issue-10028.rs b/src/test/run-pass/issue-10028.rs
index e69aabd46f5..f4f7e24d156 100644
--- a/src/test/run-pass/issue-10028.rs
+++ b/src/test/run-pass/issue-10028.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // aux-build:issue-10028.rs
-// ignore-fast
 
 extern crate issue10028 = "issue-10028";
 
diff --git a/src/test/run-pass/issue-10031.rs b/src/test/run-pass/issue-10031.rs
index bde8b194c40..a94ed4ed5b9 100644
--- a/src/test/run-pass/issue-10031.rs
+++ b/src/test/run-pass/issue-10031.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast - check-fast doesn't understand aux-build
 // aux-build:issue_10031_aux.rs
 extern crate issue_10031_aux;
 
diff --git a/src/test/run-pass/issue-10626.rs b/src/test/run-pass/issue-10626.rs
index 3f2c3f4fbd7..4f3763f8039 100644
--- a/src/test/run-pass/issue-10626.rs
+++ b/src/test/run-pass/issue-10626.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 // Make sure that if a process doesn't have its stdio/stderr descriptors set up
 // that we don't die in a large ball of fire
diff --git a/src/test/run-pass/issue-10806.rs b/src/test/run-pass/issue-10806.rs
index 2174227e8dd..69a23e80990 100644
--- a/src/test/run-pass/issue-10806.rs
+++ b/src/test/run-pass/issue-10806.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 pub fn foo() -> int {
     3
diff --git a/src/test/run-pass/issue-11085.rs b/src/test/run-pass/issue-11085.rs
index 504109421ae..3483bdd53b5 100644
--- a/src/test/run-pass/issue-11085.rs
+++ b/src/test/run-pass/issue-11085.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // compile-flags: --cfg foo
-// ignore-fast
 
 #[feature(struct_variant)];
 
diff --git a/src/test/run-pass/issue-11224.rs b/src/test/run-pass/issue-11224.rs
index 23f1834fe87..c247893ef6b 100644
--- a/src/test/run-pass/issue-11224.rs
+++ b/src/test/run-pass/issue-11224.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // aux-build:issue-11224.rs
-// ignore-fast
 
 extern crate unused = "issue-11224";
 
diff --git a/src/test/run-pass/issue-11225-1.rs b/src/test/run-pass/issue-11225-1.rs
index ea0e6615144..ecedeaba751 100644
--- a/src/test/run-pass/issue-11225-1.rs
+++ b/src/test/run-pass/issue-11225-1.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // aux-build:issue-11225-1.rs
-// ignore-fast
 
 extern crate foo = "issue-11225-1";
 
diff --git a/src/test/run-pass/issue-11225-2.rs b/src/test/run-pass/issue-11225-2.rs
index 95ed77eba04..774d9e6d1b8 100644
--- a/src/test/run-pass/issue-11225-2.rs
+++ b/src/test/run-pass/issue-11225-2.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // aux-build:issue-11225-2.rs
-// ignore-fast
 
 extern crate foo = "issue-11225-2";
 
diff --git a/src/test/run-pass/issue-11508.rs b/src/test/run-pass/issue-11508.rs
index a7ad38cde0f..25d3a241ebd 100644
--- a/src/test/run-pass/issue-11508.rs
+++ b/src/test/run-pass/issue-11508.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // aux-build:issue-11508.rs
-// ignore-fast
 
 extern crate rand = "issue-11508";
 
diff --git a/src/test/run-pass/issue-11529.rs b/src/test/run-pass/issue-11529.rs
index 643e6ca4bda..c11f7c79db1 100644
--- a/src/test/run-pass/issue-11529.rs
+++ b/src/test/run-pass/issue-11529.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // aux-build:issue-11529.rs
-// ignore-fast
 
 extern crate a = "issue-11529";
 
diff --git a/src/test/run-pass/issue-12684.rs b/src/test/run-pass/issue-12684.rs
index 40c087b5c25..009a0783b58 100644
--- a/src/test/run-pass/issue-12684.rs
+++ b/src/test/run-pass/issue-12684.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 extern crate native;
 extern crate green;
diff --git a/src/test/run-pass/issue-12699.rs b/src/test/run-pass/issue-12699.rs
index 6409ba51375..02790dab7b9 100644
--- a/src/test/run-pass/issue-12699.rs
+++ b/src/test/run-pass/issue-12699.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 extern crate native;
 
diff --git a/src/test/run-pass/issue-12860.rs b/src/test/run-pass/issue-12860.rs
index 3876aa45753..187a45e6543 100644
--- a/src/test/run-pass/issue-12860.rs
+++ b/src/test/run-pass/issue-12860.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 extern crate collections;
 
diff --git a/src/test/run-pass/issue-1696.rs b/src/test/run-pass/issue-1696.rs
index 48a1fd3f783..0113b8e2fd9 100644
--- a/src/test/run-pass/issue-1696.rs
+++ b/src/test/run-pass/issue-1696.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/issue-2185.rs b/src/test/run-pass/issue-2185.rs
index 591c1d285b0..492e76552d4 100644
--- a/src/test/run-pass/issue-2185.rs
+++ b/src/test/run-pass/issue-2185.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // ignore-test
-// ignore-fast
 
 // notes on this test case:
 // On Thu, Apr 18, 2013-2014 at 6:30 PM, John Clements <clements@brinckerhoff.org> wrote:
diff --git a/src/test/run-pass/issue-2214.rs b/src/test/run-pass/issue-2214.rs
index b6ff31269c7..1fa9fa8f4fb 100644
--- a/src/test/run-pass/issue-2214.rs
+++ b/src/test/run-pass/issue-2214.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/issue-2316-c.rs b/src/test/run-pass/issue-2316-c.rs
index 8dd64b1dbc9..a27f0b8d659 100644
--- a/src/test/run-pass/issue-2316-c.rs
+++ b/src/test/run-pass/issue-2316-c.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast - check-fast doesn't understand aux-build
 // aux-build:issue_2316_a.rs
 // aux-build:issue_2316_b.rs
 
diff --git a/src/test/run-pass/issue-2380-b.rs b/src/test/run-pass/issue-2380-b.rs
index f312a1b080a..22976aac6e7 100644
--- a/src/test/run-pass/issue-2380-b.rs
+++ b/src/test/run-pass/issue-2380-b.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:issue-2380.rs
 
 extern crate a;
diff --git a/src/test/run-pass/issue-2383.rs b/src/test/run-pass/issue-2383.rs
index 5b13be23f8a..1197e53ffd9 100644
--- a/src/test/run-pass/issue-2383.rs
+++ b/src/test/run-pass/issue-2383.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/issue-2414-c.rs b/src/test/run-pass/issue-2414-c.rs
index 86cd1576bb0..0b891fbddcc 100644
--- a/src/test/run-pass/issue-2414-c.rs
+++ b/src/test/run-pass/issue-2414-c.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:issue-2414-a.rs
 // aux-build:issue-2414-b.rs
 
diff --git a/src/test/run-pass/issue-2472.rs b/src/test/run-pass/issue-2472.rs
index b025f80a888..53b0042405b 100644
--- a/src/test/run-pass/issue-2472.rs
+++ b/src/test/run-pass/issue-2472.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // aux-build:issue_2472_b.rs
-// ignore-fast
 
 extern crate issue_2472_b;
 
diff --git a/src/test/run-pass/issue-2526-a.rs b/src/test/run-pass/issue-2526-a.rs
index 00323b60649..53c7f60ebb7 100644
--- a/src/test/run-pass/issue-2526-a.rs
+++ b/src/test/run-pass/issue-2526-a.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:issue-2526.rs
 
 #![feature(globs)]
diff --git a/src/test/run-pass/issue-2631-b.rs b/src/test/run-pass/issue-2631-b.rs
index 1ea268eafca..38923446598 100644
--- a/src/test/run-pass/issue-2631-b.rs
+++ b/src/test/run-pass/issue-2631-b.rs
@@ -10,7 +10,6 @@
 
 #[feature(managed_boxes)];
 
-// ignore-fast
 // aux-build:issue-2631-a.rs
 
 extern crate collections;
diff --git a/src/test/run-pass/issue-2718.rs b/src/test/run-pass/issue-2718.rs
index 2e294c30a3f..0598fafd96e 100644
--- a/src/test/run-pass/issue-2718.rs
+++ b/src/test/run-pass/issue-2718.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/issue-2723-b.rs b/src/test/run-pass/issue-2723-b.rs
index 4bf5a562cf0..bab7b0d24db 100644
--- a/src/test/run-pass/issue-2723-b.rs
+++ b/src/test/run-pass/issue-2723-b.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast: aux-build not compatible with fast
 // aux-build:issue_2723_a.rs
 
 extern crate issue_2723_a;
diff --git a/src/test/run-pass/issue-2804-2.rs b/src/test/run-pass/issue-2804-2.rs
index fccd9f3da0b..e03b383283f 100644
--- a/src/test/run-pass/issue-2804-2.rs
+++ b/src/test/run-pass/issue-2804-2.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/issue-2804.rs b/src/test/run-pass/issue-2804.rs
index 907e0b5d11d..9be9b5237c8 100644
--- a/src/test/run-pass/issue-2804.rs
+++ b/src/test/run-pass/issue-2804.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/issue-2904.rs b/src/test/run-pass/issue-2904.rs
index 2035d6f6903..16133a762c5 100644
--- a/src/test/run-pass/issue-2904.rs
+++ b/src/test/run-pass/issue-2904.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/issue-3012-2.rs b/src/test/run-pass/issue-3012-2.rs
index a301aa6baa4..9290e6200c5 100644
--- a/src/test/run-pass/issue-3012-2.rs
+++ b/src/test/run-pass/issue-3012-2.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:issue-3012-1.rs
 
 #[feature(managed_boxes)];
diff --git a/src/test/run-pass/issue-3026.rs b/src/test/run-pass/issue-3026.rs
index ee7f3aab47a..6c181935205 100644
--- a/src/test/run-pass/issue-3026.rs
+++ b/src/test/run-pass/issue-3026.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/issue-3424.rs b/src/test/run-pass/issue-3424.rs
index 7cd995f18f4..385ac1a56e3 100644
--- a/src/test/run-pass/issue-3424.rs
+++ b/src/test/run-pass/issue-3424.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/issue-3656.rs b/src/test/run-pass/issue-3656.rs
index 5823c473caa..6d70b15c621 100644
--- a/src/test/run-pass/issue-3656.rs
+++ b/src/test/run-pass/issue-3656.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast Can't redeclare malloc with wrong signature because bugs
 // Issue #3656
 // Incorrect struct size computation in the FFI, because of not taking
 // the alignment of elements into account.
diff --git a/src/test/run-pass/issue-3979-xcrate.rs b/src/test/run-pass/issue-3979-xcrate.rs
index a50287de97e..a062b4c7175 100644
--- a/src/test/run-pass/issue-3979-xcrate.rs
+++ b/src/test/run-pass/issue-3979-xcrate.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:issue_3979_traits.rs
 extern crate issue_3979_traits;
 use issue_3979_traits::{Positioned, Movable};
diff --git a/src/test/run-pass/issue-4016.rs b/src/test/run-pass/issue-4016.rs
index 7f72850aaaf..3152cda2648 100644
--- a/src/test/run-pass/issue-4016.rs
+++ b/src/test/run-pass/issue-4016.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 // Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
 // http://rust-lang.org/COPYRIGHT.
@@ -9,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 extern crate serialize;
 
diff --git a/src/test/run-pass/issue-4036.rs b/src/test/run-pass/issue-4036.rs
index 72efd252512..48e32922ce7 100644
--- a/src/test/run-pass/issue-4036.rs
+++ b/src/test/run-pass/issue-4036.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 // Issue #4036: Test for an issue that arose around fixing up type inference
 // byproducts in vtable records.
diff --git a/src/test/run-pass/issue-4208.rs b/src/test/run-pass/issue-4208.rs
index 508b4dc0b51..c186f1e57f9 100644
--- a/src/test/run-pass/issue-4208.rs
+++ b/src/test/run-pass/issue-4208.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // aux-build:issue-4208-cc.rs
-// ignore-fast - check-fast hates cross-crate tests
 
 extern crate numeric;
 use numeric::{sin, Angle};
diff --git a/src/test/run-pass/issue-4241.rs b/src/test/run-pass/issue-4241.rs
new file mode 100644
index 00000000000..a781ce115ad
--- /dev/null
+++ b/src/test/run-pass/issue-4241.rs
@@ -0,0 +1,129 @@
+// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// ignore-test needs networking
+
+extern crate extra;
+
+use extra::net::tcp::TcpSocketBuf;
+
+use std::io;
+use std::int;
+
+use std::io::{ReaderUtil,WriterUtil};
+
+enum Result {
+  Nil,
+  Int(int),
+  Data(~[u8]),
+  List(~[Result]),
+  Error(~str),
+  Status(~str)
+}
+
+priv fn parse_data(len: uint, io: @io::Reader) -> Result {
+  let res =
+      if (len > 0) {
+      let bytes = io.read_bytes(len as uint);
+      assert_eq!(bytes.len(), len);
+      Data(bytes)
+  } else {
+      Data(~[])
+  };
+  assert_eq!(io.read_char(), '\r');
+  assert_eq!(io.read_char(), '\n');
+  return res;
+}
+
+priv fn parse_list(len: uint, io: @io::Reader) -> Result {
+    let mut list: ~[Result] = ~[];
+    for _ in range(0, len) {
+        let v = match io.read_char() {
+            '$' => parse_bulk(io),
+            ':' => parse_int(io),
+             _ => fail!()
+        };
+        list.push(v);
+    }
+    return List(list);
+}
+
+priv fn chop(s: ~str) -> ~str {
+  s.slice(0, s.len() - 1).to_owned()
+}
+
+priv fn parse_bulk(io: @io::Reader) -> Result {
+    match from_str::<int>(chop(io.read_line())) {
+    None => fail!(),
+    Some(-1) => Nil,
+    Some(len) if len >= 0 => parse_data(len as uint, io),
+    Some(_) => fail!()
+    }
+}
+
+priv fn parse_multi(io: @io::Reader) -> Result {
+    match from_str::<int>(chop(io.read_line())) {
+    None => fail!(),
+    Some(-1) => Nil,
+    Some(0) => List(~[]),
+    Some(len) if len >= 0 => parse_list(len as uint, io),
+    Some(_) => fail!()
+    }
+}
+
+priv fn parse_int(io: @io::Reader) -> Result {
+    match from_str::<int>(chop(io.read_line())) {
+    None => fail!(),
+    Some(i) => Int(i)
+    }
+}
+
+priv fn parse_response(io: @io::Reader) -> Result {
+    match io.read_char() {
+    '$' => parse_bulk(io),
+    '*' => parse_multi(io),
+    '+' => Status(chop(io.read_line())),
+    '-' => Error(chop(io.read_line())),
+    ':' => parse_int(io),
+    _ => fail!()
+    }
+}
+
+priv fn cmd_to_str(cmd: ~[~str]) -> ~str {
+  let mut res = ~"*";
+  res.push_str(cmd.len().to_str());
+  res.push_str("\r\n");
+    for s in cmd.iter() {
+    res.push_str([~"$", s.len().to_str(), ~"\r\n",
+                  (*s).clone(), ~"\r\n"].concat() );
+    }
+  res
+}
+
+fn query(cmd: ~[~str], sb: TcpSocketBuf) -> Result {
+  let cmd = cmd_to_str(cmd);
+  //println!("{}", cmd);
+  sb.write_str(cmd);
+  let res = parse_response(@sb as @io::Reader);
+  res
+}
+
+fn query2(cmd: ~[~str]) -> Result {
+  let _cmd = cmd_to_str(cmd);
+    io::with_str_reader(~"$3\r\nXXX\r\n")(|sb| {
+    let res = parse_response(@sb as @io::Reader);
+    println!("{:?}", res);
+    res
+    });
+}
+
+
+pub fn main() {
+}
diff --git a/src/test/run-pass/issue-4545.rs b/src/test/run-pass/issue-4545.rs
index 9781f4aba7e..fdcee2e3b61 100644
--- a/src/test/run-pass/issue-4545.rs
+++ b/src/test/run-pass/issue-4545.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast check-fast doesn't like aux-build
 // aux-build:issue-4545.rs
 
 extern crate somelib = "issue-4545";
diff --git a/src/test/run-pass/issue-5521.rs b/src/test/run-pass/issue-5521.rs
index ca62b7bb895..8f66d96d50e 100644
--- a/src/test/run-pass/issue-5521.rs
+++ b/src/test/run-pass/issue-5521.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // aux-build:issue-5521.rs
-// ignore-fast
 
 #[feature(managed_boxes)];
 
diff --git a/src/test/run-pass/issue-5950.rs b/src/test/run-pass/issue-5950.rs
index 39f47be872e..fd852f7fd51 100644
--- a/src/test/run-pass/issue-5950.rs
+++ b/src/test/run-pass/issue-5950.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 pub use local_alias = local;
 
diff --git a/src/test/run-pass/issue-6919.rs b/src/test/run-pass/issue-6919.rs
index 5afffb3d029..997bca42f7d 100644
--- a/src/test/run-pass/issue-6919.rs
+++ b/src/test/run-pass/issue-6919.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // aux-build:iss.rs
-// ignore-fast
 
 #[crate_id="issue-6919"];
 extern crate issue6919_3;
diff --git a/src/test/run-pass/issue-7178.rs b/src/test/run-pass/issue-7178.rs
index a20ab1ca9e4..b11521b23b2 100644
--- a/src/test/run-pass/issue-7178.rs
+++ b/src/test/run-pass/issue-7178.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:issue-7178.rs
 
 extern crate cross_crate_self = "issue-7178";
diff --git a/src/test/run-pass/issue-7899.rs b/src/test/run-pass/issue-7899.rs
index 6ee734d0212..84c7cce2276 100644
--- a/src/test/run-pass/issue-7899.rs
+++ b/src/test/run-pass/issue-7899.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:issue-7899.rs
 
 extern crate testcrate = "issue-7899";
diff --git a/src/test/run-pass/issue-8044.rs b/src/test/run-pass/issue-8044.rs
index 450c8351516..06f41e9cb7a 100644
--- a/src/test/run-pass/issue-8044.rs
+++ b/src/test/run-pass/issue-8044.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast check-fast doesn't like aux-build
 // aux-build:issue-8044.rs
 
 extern crate minimal = "issue-8044";
diff --git a/src/test/run-pass/issue-8259.rs b/src/test/run-pass/issue-8259.rs
index 715c25feff3..484df474403 100644
--- a/src/test/run-pass/issue-8259.rs
+++ b/src/test/run-pass/issue-8259.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:issue-8259.rs
 
 extern crate other = "issue-8259";
diff --git a/src/test/run-pass/issue-8401.rs b/src/test/run-pass/issue-8401.rs
index e47d3b8edce..1ca91366f36 100644
--- a/src/test/run-pass/issue-8401.rs
+++ b/src/test/run-pass/issue-8401.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // aux-build:issue_8401.rs
-// ignore-fast
 
 extern crate issue_8401;
 
diff --git a/src/test/run-pass/issue-8860.rs b/src/test/run-pass/issue-8860.rs
index d20d0eeb58c..c665c1da3fc 100644
--- a/src/test/run-pass/issue-8860.rs
+++ b/src/test/run-pass/issue-8860.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 extern crate green;
 
diff --git a/src/test/run-pass/issue-9047.rs b/src/test/run-pass/issue-9047.rs
index 053d6aa3c90..4fe2247212f 100644
--- a/src/test/run-pass/issue-9047.rs
+++ b/src/test/run-pass/issue-9047.rs
@@ -16,4 +16,6 @@ fn decode() -> ~str {
     ~""
 }
 
-pub fn main() {}
+pub fn main() {
+    println!("{}", decode());
+}
diff --git a/src/test/run-pass/issue-9123.rs b/src/test/run-pass/issue-9123.rs
index ea9d7edecd1..f66215aa43f 100644
--- a/src/test/run-pass/issue-9123.rs
+++ b/src/test/run-pass/issue-9123.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast check-fast doesn't like aux-build
 // aux-build:issue_9123.rs
 
 extern crate issue_9123;
diff --git a/src/test/run-pass/issue-9188.rs b/src/test/run-pass/issue-9188.rs
index 8cded636338..31797deccf9 100644
--- a/src/test/run-pass/issue-9188.rs
+++ b/src/test/run-pass/issue-9188.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // aux-build:issue_9188.rs
-// ignore-fast check-fast doesn't like aux-build
 
 extern crate issue_9188;
 
diff --git a/src/test/run-pass/issue-9906.rs b/src/test/run-pass/issue-9906.rs
index c32cab9638c..6b8e250ea74 100644
--- a/src/test/run-pass/issue-9906.rs
+++ b/src/test/run-pass/issue-9906.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast check-fast doesn't like extern crate
 // aux-build:issue-9906.rs
 
 extern crate testmod = "issue-9906";
diff --git a/src/test/run-pass/issue-9968.rs b/src/test/run-pass/issue-9968.rs
index 468fcdca6bd..8768a76a9a2 100644
--- a/src/test/run-pass/issue-9968.rs
+++ b/src/test/run-pass/issue-9968.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast check-fast doesn't like extern crate
 // aux-build:issue-9968.rs
 
 extern crate lib = "issue-9968";
diff --git a/src/test/run-pass/issue2170exe.rs b/src/test/run-pass/issue2170exe.rs
index 481b6a2723b..b4a41ef44f8 100644
--- a/src/test/run-pass/issue2170exe.rs
+++ b/src/test/run-pass/issue2170exe.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast - check-fail fast doesn't under aux-build
 // aux-build:issue2170lib.rs
 extern crate issue2170lib;
 
diff --git a/src/test/run-pass/issue2378c.rs b/src/test/run-pass/issue2378c.rs
index 17733361de4..49bec6f1e9e 100644
--- a/src/test/run-pass/issue2378c.rs
+++ b/src/test/run-pass/issue2378c.rs
@@ -10,7 +10,6 @@
 
 // aux-build:issue2378a.rs
 // aux-build:issue2378b.rs
-// ignore-fast - check-fast doesn't understand aux-build
 
 extern crate issue2378a;
 extern crate issue2378b;
diff --git a/src/test/run-pass/issue_3136_b.rs b/src/test/run-pass/issue_3136_b.rs
index 4144e0c85c8..a6fb993a96b 100644
--- a/src/test/run-pass/issue_3136_b.rs
+++ b/src/test/run-pass/issue_3136_b.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast - check-fast doesn't understand aux-build
 // aux-build:issue_3136_a.rc
 
 extern crate issue_3136_a;
diff --git a/src/test/run-pass/issue_9155.rs b/src/test/run-pass/issue_9155.rs
index 09a6693eb4c..951cde3264b 100644
--- a/src/test/run-pass/issue_9155.rs
+++ b/src/test/run-pass/issue_9155.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // aux-build:issue_9155.rs
-// ignore-fast check-fast doesn't like the aux-build
 
 extern crate issue_9155;
 
diff --git a/src/test/run-pass/kinds-in-metadata.rs b/src/test/run-pass/kinds-in-metadata.rs
index 05f58acd949..233db83d289 100644
--- a/src/test/run-pass/kinds-in-metadata.rs
+++ b/src/test/run-pass/kinds-in-metadata.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:kinds_in_metadata.rs
 
 /* Any copyright is dedicated to the Public Domain.
diff --git a/src/test/run-pass/lang-item-public.rs b/src/test/run-pass/lang-item-public.rs
index 6256449b122..23e48b97427 100644
--- a/src/test/run-pass/lang-item-public.rs
+++ b/src/test/run-pass/lang-item-public.rs
@@ -9,10 +9,10 @@
 // except according to those terms.
 
 // aux-build:lang-item-public.rs
-// ignore-fast
 // ignore-android
+// ignore-win32 #13361
 
-#[no_std];
+#![no_std]
 
 extern crate lang_lib = "lang-item-public";
 
diff --git a/src/test/run-pass/linkage-visibility.rs b/src/test/run-pass/linkage-visibility.rs
index e4c0d023298..e263767990a 100644
--- a/src/test/run-pass/linkage-visibility.rs
+++ b/src/test/run-pass/linkage-visibility.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // aux-build:linkage-visibility.rs
-// ignore-fast check-fast doesn't like 'extern crate'
 // ignore-android: FIXME(#10379)
 // ignore-win32: std::unstable::dynamic_lib does not work on win32 well
 
diff --git a/src/test/run-pass/linkage1.rs b/src/test/run-pass/linkage1.rs
index 4b2c9861493..2eafd34afca 100644
--- a/src/test/run-pass/linkage1.rs
+++ b/src/test/run-pass/linkage1.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // ignore-win32
-// ignore-fast
 // ignore-android
 // ignore-macos
 // aux-build:linkage1.rs
diff --git a/src/test/run-pass/lint-non-camel-case-types-non-uppercase-statics-unicode.rs b/src/test/run-pass/lint-non-camel-case-types-non-uppercase-statics-unicode.rs
index 76c5a199bdb..f755d85020f 100644
--- a/src/test/run-pass/lint-non-camel-case-types-non-uppercase-statics-unicode.rs
+++ b/src/test/run-pass/lint-non-camel-case-types-non-uppercase-statics-unicode.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast feature doesn't work.
 
 #[forbid(non_camel_case_types)];
 #[forbid(non_uppercase_statics)];
diff --git a/src/test/run-pass/log-knows-the-names-of-variants-in-std.rs b/src/test/run-pass/log-knows-the-names-of-variants-in-std.rs
index 7e120658aae..52528828506 100644
--- a/src/test/run-pass/log-knows-the-names-of-variants-in-std.rs
+++ b/src/test/run-pass/log-knows-the-names-of-variants-in-std.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/log_syntax-trace_macros-macro-locations.rs b/src/test/run-pass/log_syntax-trace_macros-macro-locations.rs
index a00ba6067dc..afcd154f647 100644
--- a/src/test/run-pass/log_syntax-trace_macros-macro-locations.rs
+++ b/src/test/run-pass/log_syntax-trace_macros-macro-locations.rs
@@ -8,8 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast feature doesn't work
-#[feature(trace_macros, log_syntax)];
+#![feature(trace_macros, log_syntax)]
 
 // make sure these macros can be used as in the various places that
 // macros can occur.
diff --git a/src/test/run-pass/logging-enabled-debug.rs b/src/test/run-pass/logging-enabled-debug.rs
index f5db1c7b1d6..9320c77a285 100644
--- a/src/test/run-pass/logging-enabled-debug.rs
+++ b/src/test/run-pass/logging-enabled-debug.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // compile-flags:--cfg ndebug
 // exec-env:RUST_LOG=logging-enabled-debug=debug
 
diff --git a/src/test/run-pass/logging-enabled.rs b/src/test/run-pass/logging-enabled.rs
index 31437586897..b1d24e8b9b6 100644
--- a/src/test/run-pass/logging-enabled.rs
+++ b/src/test/run-pass/logging-enabled.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // exec-env:RUST_LOG=logging-enabled=info
 
 #![feature(phase)]
diff --git a/src/test/run-pass/logging-only-prints-once.rs b/src/test/run-pass/logging-only-prints-once.rs
index d582b770602..396b633b633 100644
--- a/src/test/run-pass/logging-only-prints-once.rs
+++ b/src/test/run-pass/logging-only-prints-once.rs
@@ -8,7 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
+// ignore-win32
 // exec-env:RUST_LOG=debug
 
 use std::cell::Cell;
diff --git a/src/test/run-pass/logging-right-crate.rs b/src/test/run-pass/logging-right-crate.rs
index 68afcc98bba..31c2ae891e0 100644
--- a/src/test/run-pass/logging-right-crate.rs
+++ b/src/test/run-pass/logging-right-crate.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // aux-build:logging_right_crate.rs
-// ignore-fast
 // exec-env:RUST_LOG=logging-right-crate=debug
 
 // This is a test for issue #3046 to make sure that when we monomorphize a
diff --git a/src/test/run-pass/logging_before_rt_started.rs b/src/test/run-pass/logging_before_rt_started.rs
index 4c659706b5b..8a21d60e468 100644
--- a/src/test/run-pass/logging_before_rt_started.rs
+++ b/src/test/run-pass/logging_before_rt_started.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // exec-env:RUST_LOG=std::ptr
-// ignore-fast this would cause everything to print forever on check-fast...
 
 // In issue #9487, it was realized that std::ptr was invoking the logging
 // infrastructure, and when std::ptr was used during runtime initialization,
diff --git a/src/test/run-pass/macro-crate-def-only.rs b/src/test/run-pass/macro-crate-def-only.rs
index 75b001a71d2..abf8edc274c 100644
--- a/src/test/run-pass/macro-crate-def-only.rs
+++ b/src/test/run-pass/macro-crate-def-only.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // aux-build:macro_crate_def_only.rs
-// ignore-fast
 
 #![feature(phase)]
 
diff --git a/src/test/run-pass/macro-export-inner-module.rs b/src/test/run-pass/macro-export-inner-module.rs
index d77b360336c..179c65cd046 100644
--- a/src/test/run-pass/macro-export-inner-module.rs
+++ b/src/test/run-pass/macro-export-inner-module.rs
@@ -10,7 +10,6 @@
 
 //aux-build:macro_export_inner_module.rs
 //ignore-stage1
-//ignore-fast
 
 #![feature(phase)]
 
diff --git a/src/test/run-pass/macro-meta-items.rs b/src/test/run-pass/macro-meta-items.rs
index cfcde320d99..91f67abd8af 100644
--- a/src/test/run-pass/macro-meta-items.rs
+++ b/src/test/run-pass/macro-meta-items.rs
@@ -8,11 +8,10 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // ignore-pretty - token trees can't pretty print
 // compile-flags: --cfg foo
 
-#[feature(macro_rules)];
+#![feature(macro_rules)]
 
 macro_rules! compiles_fine {
     ($at:meta) => {
diff --git a/src/test/run-pass/macro-with-attrs1.rs b/src/test/run-pass/macro-with-attrs1.rs
index 57f63cdd7a5..48e6b09a90a 100644
--- a/src/test/run-pass/macro-with-attrs1.rs
+++ b/src/test/run-pass/macro-with-attrs1.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast check-fast doesn't like compile-flags
 // compile-flags: --cfg foo
 
 #[feature(macro_rules)];
diff --git a/src/test/run-pass/mod-view-items.rs b/src/test/run-pass/mod-view-items.rs
index b05a5702910..8a546a729d5 100644
--- a/src/test/run-pass/mod-view-items.rs
+++ b/src/test/run-pass/mod-view-items.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/mod_dir_implicit.rs b/src/test/run-pass/mod_dir_implicit.rs
index 31691446289..1b89464c543 100644
--- a/src/test/run-pass/mod_dir_implicit.rs
+++ b/src/test/run-pass/mod_dir_implicit.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // ignore-pretty
-// ignore-fast
 
 mod mod_dir_implicit_aux;
 
diff --git a/src/test/run-pass/mod_dir_path.rs b/src/test/run-pass/mod_dir_path.rs
index 612d0337619..e0327a1dcd4 100644
--- a/src/test/run-pass/mod_dir_path.rs
+++ b/src/test/run-pass/mod_dir_path.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // ignore-pretty
-// ignore-fast
 
 mod mod_dir_simple {
     #[path = "test.rs"]
diff --git a/src/test/run-pass/mod_dir_path2.rs b/src/test/run-pass/mod_dir_path2.rs
index 54e17167663..2b5e67a6e83 100644
--- a/src/test/run-pass/mod_dir_path2.rs
+++ b/src/test/run-pass/mod_dir_path2.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // ignore-pretty
-// ignore-fast
 
 #[path = "mod_dir_simple"]
 mod pancakes {
diff --git a/src/test/run-pass/mod_dir_path3.rs b/src/test/run-pass/mod_dir_path3.rs
index 0cbe2eed7c4..d6037bef6e5 100644
--- a/src/test/run-pass/mod_dir_path3.rs
+++ b/src/test/run-pass/mod_dir_path3.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // ignore-pretty
-// ignore-fast
 
 #[path = "mod_dir_simple"]
 mod pancakes {
diff --git a/src/test/run-pass/mod_dir_path_multi.rs b/src/test/run-pass/mod_dir_path_multi.rs
index 0785e49396c..f1bf83ed767 100644
--- a/src/test/run-pass/mod_dir_path_multi.rs
+++ b/src/test/run-pass/mod_dir_path_multi.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // ignore-pretty
-// ignore-fast
 
 #[path = "mod_dir_simple"]
 mod biscuits {
diff --git a/src/test/run-pass/mod_dir_recursive.rs b/src/test/run-pass/mod_dir_recursive.rs
index c9561a04c34..d7121ef7690 100644
--- a/src/test/run-pass/mod_dir_recursive.rs
+++ b/src/test/run-pass/mod_dir_recursive.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // ignore-pretty
-// ignore-fast
 
 // Testing that the parser for each file tracks its modules
 // and paths independently. The load_another_mod module should
diff --git a/src/test/run-pass/mod_dir_simple.rs b/src/test/run-pass/mod_dir_simple.rs
index f6212fc8c3e..41c810b6fdd 100644
--- a/src/test/run-pass/mod_dir_simple.rs
+++ b/src/test/run-pass/mod_dir_simple.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // ignore-pretty
-// ignore-fast
 
 mod mod_dir_simple {
     pub mod test;
diff --git a/src/test/run-pass/monad.rs b/src/test/run-pass/monad.rs
index 47f1fcc2934..6b508bc0ae7 100644
--- a/src/test/run-pass/monad.rs
+++ b/src/test/run-pass/monad.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 
 trait vec_monad<A> {
diff --git a/src/test/run-pass/moves-based-on-type-cross-crate.rs b/src/test/run-pass/moves-based-on-type-cross-crate.rs
index abccd11d8b9..16f15804e0e 100644
--- a/src/test/run-pass/moves-based-on-type-cross-crate.rs
+++ b/src/test/run-pass/moves-based-on-type-cross-crate.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:moves_based_on_type_lib.rs
 
 extern crate moves_based_on_type_lib;
diff --git a/src/test/run-pass/native-always-waits.rs b/src/test/run-pass/native-always-waits.rs
index 18a64c8bd5b..94a4308ab08 100644
--- a/src/test/run-pass/native-always-waits.rs
+++ b/src/test/run-pass/native-always-waits.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // ignore-android (FIXME #11419)
 
 extern crate native;
diff --git a/src/test/run-pass/native-print-no-runtime.rs b/src/test/run-pass/native-print-no-runtime.rs
index 150435959e4..bf1a97f84b6 100644
--- a/src/test/run-pass/native-print-no-runtime.rs
+++ b/src/test/run-pass/native-print-no-runtime.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 #[start]
 pub fn main(_: int, _: **u8) -> int {
diff --git a/src/test/run-pass/nested_item_main.rs b/src/test/run-pass/nested_item_main.rs
index 5fe1cd7fa55..d73fba56143 100644
--- a/src/test/run-pass/nested_item_main.rs
+++ b/src/test/run-pass/nested_item_main.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // aux-build:nested_item.rs
-// ignore-fast
 
 extern crate nested_item;
 
diff --git a/src/test/run-pass/newtype-struct-xc-2.rs b/src/test/run-pass/newtype-struct-xc-2.rs
index 9aec3f2c4f7..0302a0588e4 100644
--- a/src/test/run-pass/newtype-struct-xc-2.rs
+++ b/src/test/run-pass/newtype-struct-xc-2.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:newtype_struct_xc.rs
 
 extern crate newtype_struct_xc;
diff --git a/src/test/run-pass/newtype-struct-xc.rs b/src/test/run-pass/newtype-struct-xc.rs
index 98a55f29758..3e375c48316 100644
--- a/src/test/run-pass/newtype-struct-xc.rs
+++ b/src/test/run-pass/newtype-struct-xc.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:newtype_struct_xc.rs
 
 extern crate newtype_struct_xc;
diff --git a/src/test/run-pass/no-landing-pads.rs b/src/test/run-pass/no-landing-pads.rs
index 799ad538c8d..bc7987f4a27 100644
--- a/src/test/run-pass/no-landing-pads.rs
+++ b/src/test/run-pass/no-landing-pads.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // compile-flags: -Z no-landing-pads
-// ignore-fast
 
 use std::task;
 
diff --git a/src/test/run-pass/once-move-out-on-heap.rs b/src/test/run-pass/once-move-out-on-heap.rs
index d27cce4dd36..99580619a23 100644
--- a/src/test/run-pass/once-move-out-on-heap.rs
+++ b/src/test/run-pass/once-move-out-on-heap.rs
@@ -10,7 +10,6 @@
 
 // Testing guarantees provided by once functions.
 
-// ignore-fast
 
 #[feature(once_fns)];
 extern crate sync;
diff --git a/src/test/run-pass/once-move-out-on-stack.rs b/src/test/run-pass/once-move-out-on-stack.rs
index 995fc091113..02fe2ff023c 100644
--- a/src/test/run-pass/once-move-out-on-stack.rs
+++ b/src/test/run-pass/once-move-out-on-stack.rs
@@ -10,7 +10,6 @@
 
 // Testing guarantees provided by once functions.
 
-// ignore-fast
 
 #![feature(once_fns)]
 extern crate sync;
diff --git a/src/test/run-pass/operator-overloading.rs b/src/test/run-pass/operator-overloading.rs
index c6819971e35..66783ad78e5 100644
--- a/src/test/run-pass/operator-overloading.rs
+++ b/src/test/run-pass/operator-overloading.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 use std::cmp;
 use std::ops;
diff --git a/src/test/run-pass/out-of-stack.rs b/src/test/run-pass/out-of-stack.rs
index 2e710cbf5c8..fd761082346 100644
--- a/src/test/run-pass/out-of-stack.rs
+++ b/src/test/run-pass/out-of-stack.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
-
 #![feature(asm)]
 
 use std::io::Process;
diff --git a/src/test/run-pass/overloaded-autoderef-xcrate.rs b/src/test/run-pass/overloaded-autoderef-xcrate.rs
index fc969093d23..f8dd729ec67 100644
--- a/src/test/run-pass/overloaded-autoderef-xcrate.rs
+++ b/src/test/run-pass/overloaded-autoderef-xcrate.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:overloaded_autoderef_xc.rs
 
 extern crate overloaded_autoderef_xc;
diff --git a/src/test/run-pass/packed-struct-size-xc.rs b/src/test/run-pass/packed-struct-size-xc.rs
index 2ee90eb2c4c..c2968956785 100644
--- a/src/test/run-pass/packed-struct-size-xc.rs
+++ b/src/test/run-pass/packed-struct-size-xc.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:packed.rs
 
 extern crate packed;
diff --git a/src/test/run-pass/phase-use-ignored.rs b/src/test/run-pass/phase-use-ignored.rs
index 008a04eaa49..60f2619fffd 100644
--- a/src/test/run-pass/phase-use-ignored.rs
+++ b/src/test/run-pass/phase-use-ignored.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 #![feature(phase)]
 
diff --git a/src/test/run-pass/placement-new-arena.rs b/src/test/run-pass/placement-new-arena.rs
index 876d9d2a690..1ca7e5aa3c4 100644
--- a/src/test/run-pass/placement-new-arena.rs
+++ b/src/test/run-pass/placement-new-arena.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/priv-impl-prim-ty.rs b/src/test/run-pass/priv-impl-prim-ty.rs
index 4c7160a8eee..6af18992636 100644
--- a/src/test/run-pass/priv-impl-prim-ty.rs
+++ b/src/test/run-pass/priv-impl-prim-ty.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:priv-impl-prim-ty.rs
 
 extern crate bar = "priv-impl-prim-ty";
diff --git a/src/test/run-pass/privacy-ns.rs b/src/test/run-pass/privacy-ns.rs
index bc7df6bb599..6cdd0201a90 100644
--- a/src/test/run-pass/privacy-ns.rs
+++ b/src/test/run-pass/privacy-ns.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 // Check we do the correct privacy checks when we import a name and there is an
 // item with that name in both the value and type namespaces.
diff --git a/src/test/run-pass/privacy-reexport.rs b/src/test/run-pass/privacy-reexport.rs
index e9450d1e77d..b40aacdafc1 100644
--- a/src/test/run-pass/privacy-reexport.rs
+++ b/src/test/run-pass/privacy-reexport.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:privacy_reexport.rs
 
 extern crate privacy_reexport;
diff --git a/src/test/run-pass/process-detach.rs b/src/test/run-pass/process-detach.rs
index 45445ed84f9..16cc414c0d9 100644
--- a/src/test/run-pass/process-detach.rs
+++ b/src/test/run-pass/process-detach.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // ignore-win32
 // ignore-android
 
diff --git a/src/test/run-pass/pub-use-xcrate.rs b/src/test/run-pass/pub-use-xcrate.rs
index 2d4f5f743b8..cdc184898fd 100644
--- a/src/test/run-pass/pub-use-xcrate.rs
+++ b/src/test/run-pass/pub-use-xcrate.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:pub_use_xcrate1.rs
 // aux-build:pub_use_xcrate2.rs
 
diff --git a/src/test/run-pass/pub_use_mods_xcrate_exe.rs b/src/test/run-pass/pub_use_mods_xcrate_exe.rs
index 87185e39aa9..a973598228d 100644
--- a/src/test/run-pass/pub_use_mods_xcrate_exe.rs
+++ b/src/test/run-pass/pub_use_mods_xcrate_exe.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:pub_use_mods_xcrate.rs
 
 #[allow(unused_imports)];
diff --git a/src/test/run-pass/rec-align-u32.rs b/src/test/run-pass/rec-align-u32.rs
index 49e0faf4693..ab56fac61b3 100644
--- a/src/test/run-pass/rec-align-u32.rs
+++ b/src/test/run-pass/rec-align-u32.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast: check-fast screws up repr paths
 
 // Issue #2303
 
diff --git a/src/test/run-pass/rec-align-u64.rs b/src/test/run-pass/rec-align-u64.rs
index 16d1a0c464c..3d3a4c53b97 100644
--- a/src/test/run-pass/rec-align-u64.rs
+++ b/src/test/run-pass/rec-align-u64.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast: check-fast screws up repr paths
 
 // Issue #2303
 
diff --git a/src/test/run-pass/reexport-should-still-link.rs b/src/test/run-pass/reexport-should-still-link.rs
index 0c22fcb44e9..c63d50d898c 100644
--- a/src/test/run-pass/reexport-should-still-link.rs
+++ b/src/test/run-pass/reexport-should-still-link.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // aux-build:reexport-should-still-link.rs
-// ignore-fast check-fast doesn't like extern crate
 
 extern crate foo = "reexport-should-still-link";
 
diff --git a/src/test/run-pass/reexport-star.rs b/src/test/run-pass/reexport-star.rs
index 3b7696b548a..6617ff08d1c 100644
--- a/src/test/run-pass/reexport-star.rs
+++ b/src/test/run-pass/reexport-star.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/reexported-static-methods-cross-crate.rs b/src/test/run-pass/reexported-static-methods-cross-crate.rs
index b3a7cf74428..05abb95c117 100644
--- a/src/test/run-pass/reexported-static-methods-cross-crate.rs
+++ b/src/test/run-pass/reexported-static-methods-cross-crate.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:reexported_static_methods.rs
 extern crate reexported_static_methods;
 
diff --git a/src/test/run-pass/regions-mock-tcx.rs b/src/test/run-pass/regions-mock-tcx.rs
index 2c5245d5b38..fabf4b7b428 100644
--- a/src/test/run-pass/regions-mock-tcx.rs
+++ b/src/test/run-pass/regions-mock-tcx.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast `use` standards don't resolve
 
 // Test a sample usage pattern for regions. Makes use of the
 // following features:
diff --git a/src/test/run-pass/regions-params.rs b/src/test/run-pass/regions-params.rs
index 9f204182514..b83d7af9a11 100644
--- a/src/test/run-pass/regions-params.rs
+++ b/src/test/run-pass/regions-params.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 fn region_identity<'r>(x: &'r uint) -> &'r uint { x }
 
diff --git a/src/test/run-pass/rename-directory.rs b/src/test/run-pass/rename-directory.rs
index 2f059c3531d..8411ef32963 100644
--- a/src/test/run-pass/rename-directory.rs
+++ b/src/test/run-pass/rename-directory.rs
@@ -11,8 +11,6 @@
 // This test can't be a unit test in std,
 // because it needs TempDir, which is in extra
 
-// ignore-fast
-
 extern crate libc;
 
 use std::io::TempDir;
diff --git a/src/test/run-pass/self-shadowing-import.rs b/src/test/run-pass/self-shadowing-import.rs
index 98a3709a61a..19fdd04069e 100644
--- a/src/test/run-pass/self-shadowing-import.rs
+++ b/src/test/run-pass/self-shadowing-import.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/sendfn-is-a-block.rs b/src/test/run-pass/sendfn-is-a-block.rs
index 23c936b1a01..3f94c7c8e54 100644
--- a/src/test/run-pass/sendfn-is-a-block.rs
+++ b/src/test/run-pass/sendfn-is-a-block.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 fn test(f: |uint| -> uint) -> uint {
     return f(22u);
diff --git a/src/test/run-pass/signal-exit-status.rs b/src/test/run-pass/signal-exit-status.rs
index 2658755cea1..944174c1d8c 100644
--- a/src/test/run-pass/signal-exit-status.rs
+++ b/src/test/run-pass/signal-exit-status.rs
@@ -18,7 +18,7 @@
 // option. this file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast calling itself doesn't work on check-fast
+// ignore-win32
 
 use std::os;
 use std::io::process::{Process, ExitSignal, ExitStatus};
diff --git a/src/test/run-pass/sigpipe-should-be-ignored.rs b/src/test/run-pass/sigpipe-should-be-ignored.rs
index 5c62ea2ad21..957bcd0e423 100644
--- a/src/test/run-pass/sigpipe-should-be-ignored.rs
+++ b/src/test/run-pass/sigpipe-should-be-ignored.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
-
 // Be sure that when a SIGPIPE would have been received that the entire process
 // doesn't die in a ball of fire, but rather it's gracefully handled.
 
diff --git a/src/test/run-pass/simd-generics.rs b/src/test/run-pass/simd-generics.rs
index 75062a46224..68c210b018a 100644
--- a/src/test/run-pass/simd-generics.rs
+++ b/src/test/run-pass/simd-generics.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 #![feature(simd)]
 
diff --git a/src/test/run-pass/simd-issue-10604.rs b/src/test/run-pass/simd-issue-10604.rs
index 4e3c3afc5ad..2e533e3b263 100644
--- a/src/test/run-pass/simd-issue-10604.rs
+++ b/src/test/run-pass/simd-issue-10604.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 #![allow(experimental)]
 #![feature(simd)]
diff --git a/src/test/run-pass/simd-type.rs b/src/test/run-pass/simd-type.rs
index c79f285e486..a1a74578112 100644
--- a/src/test/run-pass/simd-type.rs
+++ b/src/test/run-pass/simd-type.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast feature doesn't work
 
 #![feature(simd)]
 
diff --git a/src/test/run-pass/smallest-hello-world.rs b/src/test/run-pass/smallest-hello-world.rs
index 2c128636dcb..d3c7a948e24 100644
--- a/src/test/run-pass/smallest-hello-world.rs
+++ b/src/test/run-pass/smallest-hello-world.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // ignore-test - FIXME(#8538) some kind of problem linking induced by extern "C" fns
-// ignore-fast - check-fast doesn't like this
 
 // Smallest hello world with no runtime
 
diff --git a/src/test/run-pass/spawning-with-debug.rs b/src/test/run-pass/spawning-with-debug.rs
index db8dc0f64c4..df6bf767b9d 100644
--- a/src/test/run-pass/spawning-with-debug.rs
+++ b/src/test/run-pass/spawning-with-debug.rs
@@ -8,8 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+// ignore-win32
 // exec-env:RUST_LOG=debug
-// ignore-fast
 
 // regression test for issue #10405, make sure we don't call println! too soon.
 
diff --git a/src/test/run-pass/stat.rs b/src/test/run-pass/stat.rs
index 96e76c798ff..d9eae02670f 100644
--- a/src/test/run-pass/stat.rs
+++ b/src/test/run-pass/stat.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 use std::io::{File, TempDir};
 
diff --git a/src/test/run-pass/static-fn-inline-xc.rs b/src/test/run-pass/static-fn-inline-xc.rs
index f679de04ba2..0d591998bc9 100644
--- a/src/test/run-pass/static-fn-inline-xc.rs
+++ b/src/test/run-pass/static-fn-inline-xc.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:static_fn_inline_xc_aux.rs
 
 extern crate mycore = "static_fn_inline_xc_aux";
diff --git a/src/test/run-pass/static-fn-trait-xc.rs b/src/test/run-pass/static-fn-trait-xc.rs
index 5643429d8e3..32a4046884d 100644
--- a/src/test/run-pass/static-fn-trait-xc.rs
+++ b/src/test/run-pass/static-fn-trait-xc.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // aux-build:static_fn_trait_xc_aux.rs
-// ignore-fast
 
 extern crate mycore = "static_fn_trait_xc_aux";
 
diff --git a/src/test/run-pass/static-function-pointer-xc.rs b/src/test/run-pass/static-function-pointer-xc.rs
index 8471b633792..8e5539ff8dc 100644
--- a/src/test/run-pass/static-function-pointer-xc.rs
+++ b/src/test/run-pass/static-function-pointer-xc.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:static-function-pointer-aux.rs
 extern crate aux = "static-function-pointer-aux";
 
diff --git a/src/test/run-pass/static-impl.rs b/src/test/run-pass/static-impl.rs
index ae547d417f0..065d069ff33 100644
--- a/src/test/run-pass/static-impl.rs
+++ b/src/test/run-pass/static-impl.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 
 pub trait plus {
diff --git a/src/test/run-pass/static-method-xcrate.rs b/src/test/run-pass/static-method-xcrate.rs
index db3f61567d8..8d3f28b1e2e 100644
--- a/src/test/run-pass/static-method-xcrate.rs
+++ b/src/test/run-pass/static-method-xcrate.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:static-methods-crate.rs
 
 extern crate static_methods_crate;
diff --git a/src/test/run-pass/static-mut-xc.rs b/src/test/run-pass/static-mut-xc.rs
index c7b17d91a8f..5aa28ad80fa 100644
--- a/src/test/run-pass/static-mut-xc.rs
+++ b/src/test/run-pass/static-mut-xc.rs
@@ -12,7 +12,6 @@
 // statics cannot. This ensures that there's some form of error if this is
 // attempted.
 
-// ignore-fast
 // aux-build:static_mut_xc.rs
 
 extern crate static_mut_xc;
diff --git a/src/test/run-pass/struct-destructuring-cross-crate.rs b/src/test/run-pass/struct-destructuring-cross-crate.rs
index 31ba7149c29..2de2bcc9584 100644
--- a/src/test/run-pass/struct-destructuring-cross-crate.rs
+++ b/src/test/run-pass/struct-destructuring-cross-crate.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:struct_destructuring_cross_crate.rs
 
 extern crate struct_destructuring_cross_crate;
diff --git a/src/test/run-pass/struct_variant_xc.rs b/src/test/run-pass/struct_variant_xc.rs
index c9cd64161b7..8b1b91a32b6 100644
--- a/src/test/run-pass/struct_variant_xc.rs
+++ b/src/test/run-pass/struct_variant_xc.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast - check-fast doesn't understand aux-build
 // aux-build:struct_variant_xc_aux.rs
 extern crate struct_variant_xc_aux;
 
diff --git a/src/test/run-pass/syntax-extension-cfg.rs b/src/test/run-pass/syntax-extension-cfg.rs
index 5695ed5d7d5..d09a4d990fd 100644
--- a/src/test/run-pass/syntax-extension-cfg.rs
+++ b/src/test/run-pass/syntax-extension-cfg.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast compile-flags doesn't work with fast-check
 // compile-flags: --cfg foo --cfg bar(baz) --cfg qux="foo"
 
 pub fn main() {
diff --git a/src/test/run-pass/tag-align-shape.rs b/src/test/run-pass/tag-align-shape.rs
index 781a50b87a7..d032761eb0b 100644
--- a/src/test/run-pass/tag-align-shape.rs
+++ b/src/test/run-pass/tag-align-shape.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast: check-fast screws up repr paths
 
 enum a_tag {
     a_tag(u64)
diff --git a/src/test/run-pass/tag-exports.rs b/src/test/run-pass/tag-exports.rs
index bc749b5d905..fa390954b97 100644
--- a/src/test/run-pass/tag-exports.rs
+++ b/src/test/run-pass/tag-exports.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/task-comm-0.rs b/src/test/run-pass/task-comm-0.rs
index 55235974e13..469c1b868db 100644
--- a/src/test/run-pass/task-comm-0.rs
+++ b/src/test/run-pass/task-comm-0.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 use std::task;
 
diff --git a/src/test/run-pass/task-comm-10.rs b/src/test/run-pass/task-comm-10.rs
index 6299cfdee20..17e1a72adc9 100644
--- a/src/test/run-pass/task-comm-10.rs
+++ b/src/test/run-pass/task-comm-10.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 use std::task;
 
diff --git a/src/test/run-pass/task-comm-11.rs b/src/test/run-pass/task-comm-11.rs
index 254988c8b0e..719d8e8120e 100644
--- a/src/test/run-pass/task-comm-11.rs
+++ b/src/test/run-pass/task-comm-11.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 use std::task;
 
diff --git a/src/test/run-pass/task-comm-13.rs b/src/test/run-pass/task-comm-13.rs
index 6d06578c6cd..3f3d6742971 100644
--- a/src/test/run-pass/task-comm-13.rs
+++ b/src/test/run-pass/task-comm-13.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 use std::task;
 
diff --git a/src/test/run-pass/task-comm-14.rs b/src/test/run-pass/task-comm-14.rs
index 9559e5c84af..3f20495f652 100644
--- a/src/test/run-pass/task-comm-14.rs
+++ b/src/test/run-pass/task-comm-14.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 use std::task;
 
diff --git a/src/test/run-pass/task-comm-15.rs b/src/test/run-pass/task-comm-15.rs
index 355f179ad17..fe4c233224d 100644
--- a/src/test/run-pass/task-comm-15.rs
+++ b/src/test/run-pass/task-comm-15.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 use std::task;
 
diff --git a/src/test/run-pass/task-comm-3.rs b/src/test/run-pass/task-comm-3.rs
index a239a2de78a..c2f6fe580fc 100644
--- a/src/test/run-pass/task-comm-3.rs
+++ b/src/test/run-pass/task-comm-3.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 use std::task;
 
diff --git a/src/test/run-pass/task-comm-7.rs b/src/test/run-pass/task-comm-7.rs
index 5d918a4c88f..121740bb6a2 100644
--- a/src/test/run-pass/task-comm-7.rs
+++ b/src/test/run-pass/task-comm-7.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 #[allow(dead_assignment)];
 
diff --git a/src/test/run-pass/task-comm-9.rs b/src/test/run-pass/task-comm-9.rs
index a4e6be4f2d5..009b013353c 100644
--- a/src/test/run-pass/task-comm-9.rs
+++ b/src/test/run-pass/task-comm-9.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 use std::task;
 
diff --git a/src/test/run-pass/tcp-stress.rs b/src/test/run-pass/tcp-stress.rs
index e3920613f6d..063ffed3151 100644
--- a/src/test/run-pass/tcp-stress.rs
+++ b/src/test/run-pass/tcp-stress.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // ignore-linux see joyent/libuv#1189
-// ignore-fast
 // ignore-android needs extra network permissions
 // exec-env:RUST_LOG=debug
 
@@ -17,10 +16,18 @@
 #[phase(syntax, link)]
 extern crate log;
 extern crate libc;
+extern crate green;
+extern crate rustuv;
 
 use std::io::net::ip::{Ipv4Addr, SocketAddr};
 use std::io::net::tcp::{TcpListener, TcpStream};
 use std::io::{Acceptor, Listener};
+use std::task;
+
+#[start]
+fn start(argc: int, argv: **u8) -> int {
+    green::start(argc, argv, rustuv::event_loop, main)
+}
 
 fn main() {
     // This test has a chance to time out, try to not let it time out
@@ -54,7 +61,9 @@ fn main() {
     let (tx, rx) = channel();
     for _ in range(0, 1000) {
         let tx = tx.clone();
-        spawn(proc() {
+        let mut builder = task::task();
+        builder.opts.stack_size = Some(32 * 1024);
+        builder.spawn(proc() {
             match TcpStream::connect(addr) {
                 Ok(stream) => {
                     let mut stream = stream;
diff --git a/src/test/run-pass/tempfile.rs b/src/test/run-pass/tempfile.rs
index e2806421518..d11e879b494 100644
--- a/src/test/run-pass/tempfile.rs
+++ b/src/test/run-pass/tempfile.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast check-fast doesn't like 'extern crate'
 // ignore-win32 TempDir may cause IoError on windows: #10463
 
 // These tests are here to exercise the functionality of the `tempfile` module.
diff --git a/src/test/run-pass/test-ignore-cfg.rs b/src/test/run-pass/test-ignore-cfg.rs
index ba131569bc4..54546560c14 100644
--- a/src/test/run-pass/test-ignore-cfg.rs
+++ b/src/test/run-pass/test-ignore-cfg.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // compile-flags: --test --cfg ignorecfg
-// ignore-fast
 
 #[test]
 #[ignore(cfg(ignorecfg))]
diff --git a/src/test/run-pass/test-runner-hides-main.rs b/src/test/run-pass/test-runner-hides-main.rs
index 3781a60fcfe..954d88c0bdc 100644
--- a/src/test/run-pass/test-runner-hides-main.rs
+++ b/src/test/run-pass/test-runner-hides-main.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // compile-flags:--test
-// ignore-fast
 // ignore-win32 #10872
 
 // Building as a test runner means that a synthetic main will be run,
diff --git a/src/test/run-pass/trait-bounds-in-arc.rs b/src/test/run-pass/trait-bounds-in-arc.rs
index 3deb0b7527d..a3049de663e 100644
--- a/src/test/run-pass/trait-bounds-in-arc.rs
+++ b/src/test/run-pass/trait-bounds-in-arc.rs
@@ -13,7 +13,6 @@
 // Tests that a heterogeneous list of existential types can be put inside an Arc
 // and shared between tasks as long as all types fulfill Send.
 
-// ignore-fast
 
 extern crate sync;
 
diff --git a/src/test/run-pass/trait-default-method-xc-2.rs b/src/test/run-pass/trait-default-method-xc-2.rs
index ccd7c9b8a3a..9e4a7c4be97 100644
--- a/src/test/run-pass/trait-default-method-xc-2.rs
+++ b/src/test/run-pass/trait-default-method-xc-2.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:trait_default_method_xc_aux.rs
 // aux-build:trait_default_method_xc_aux_2.rs
 
diff --git a/src/test/run-pass/trait-default-method-xc.rs b/src/test/run-pass/trait-default-method-xc.rs
index 0974efa00ee..25b5b7fbd5f 100644
--- a/src/test/run-pass/trait-default-method-xc.rs
+++ b/src/test/run-pass/trait-default-method-xc.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:trait_default_method_xc_aux.rs
 
 extern crate aux = "trait_default_method_xc_aux";
diff --git a/src/test/run-pass/trait-generic.rs b/src/test/run-pass/trait-generic.rs
index a2c945436d3..41f83c46f0b 100644
--- a/src/test/run-pass/trait-generic.rs
+++ b/src/test/run-pass/trait-generic.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 
 trait to_str {
diff --git a/src/test/run-pass/trait-inheritance-auto-xc-2.rs b/src/test/run-pass/trait-inheritance-auto-xc-2.rs
index bf6c429b6c8..5944106ad50 100644
--- a/src/test/run-pass/trait-inheritance-auto-xc-2.rs
+++ b/src/test/run-pass/trait-inheritance-auto-xc-2.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:trait_inheritance_auto_xc_2_aux.rs
 
 extern crate aux = "trait_inheritance_auto_xc_2_aux";
diff --git a/src/test/run-pass/trait-inheritance-auto-xc.rs b/src/test/run-pass/trait-inheritance-auto-xc.rs
index ef72611e76f..09c58316611 100644
--- a/src/test/run-pass/trait-inheritance-auto-xc.rs
+++ b/src/test/run-pass/trait-inheritance-auto-xc.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:trait_inheritance_auto_xc_aux.rs
 
 extern crate aux = "trait_inheritance_auto_xc_aux";
diff --git a/src/test/run-pass/trait-inheritance-cross-trait-call-xc.rs b/src/test/run-pass/trait-inheritance-cross-trait-call-xc.rs
index cdc0c5a80a9..0afd91c5857 100644
--- a/src/test/run-pass/trait-inheritance-cross-trait-call-xc.rs
+++ b/src/test/run-pass/trait-inheritance-cross-trait-call-xc.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:trait_inheritance_cross_trait_call_xc_aux.rs
 
 extern crate aux = "trait_inheritance_cross_trait_call_xc_aux";
diff --git a/src/test/run-pass/trait-inheritance-num.rs b/src/test/run-pass/trait-inheritance-num.rs
index 3c3198379be..a611a55896e 100644
--- a/src/test/run-pass/trait-inheritance-num.rs
+++ b/src/test/run-pass/trait-inheritance-num.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/trait-inheritance-num0.rs b/src/test/run-pass/trait-inheritance-num0.rs
index 273de361c4b..51d889d1098 100644
--- a/src/test/run-pass/trait-inheritance-num0.rs
+++ b/src/test/run-pass/trait-inheritance-num0.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/trait-inheritance-num2.rs b/src/test/run-pass/trait-inheritance-num2.rs
index 2bfe11d23a3..3edf0c52619 100644
--- a/src/test/run-pass/trait-inheritance-num2.rs
+++ b/src/test/run-pass/trait-inheritance-num2.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/trait-inheritance-overloading-xc-exe.rs b/src/test/run-pass/trait-inheritance-overloading-xc-exe.rs
index faadc68f135..7760395bf1c 100644
--- a/src/test/run-pass/trait-inheritance-overloading-xc-exe.rs
+++ b/src/test/run-pass/trait-inheritance-overloading-xc-exe.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast - check-fast doesn't understand aux-build
 // aux-build:trait_inheritance_overloading_xc.rs
 
 extern crate trait_inheritance_overloading_xc;
diff --git a/src/test/run-pass/trait-static-method-overwriting.rs b/src/test/run-pass/trait-static-method-overwriting.rs
index 8f515d7fac1..a8cea24db0c 100644
--- a/src/test/run-pass/trait-static-method-overwriting.rs
+++ b/src/test/run-pass/trait-static-method-overwriting.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
diff --git a/src/test/run-pass/trait-to-str.rs b/src/test/run-pass/trait-to-str.rs
index 1cd31195b56..98afa043249 100644
--- a/src/test/run-pass/trait-to-str.rs
+++ b/src/test/run-pass/trait-to-str.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 
 trait to_str {
diff --git a/src/test/run-pass/tydesc-name.rs b/src/test/run-pass/tydesc-name.rs
index 42ce18dccaf..4f473755cb6 100644
--- a/src/test/run-pass/tydesc-name.rs
+++ b/src/test/run-pass/tydesc-name.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast: check-fast screws up repr paths
 
 use std::intrinsics::get_tydesc;
 
diff --git a/src/test/run-pass/type-param-constraints.rs b/src/test/run-pass/type-param-constraints.rs
index c86cb10fa05..1f615dc6cec 100644
--- a/src/test/run-pass/type-param-constraints.rs
+++ b/src/test/run-pass/type-param-constraints.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 #[feature(managed_boxes)];
 
diff --git a/src/test/run-pass/typeid-intrinsic.rs b/src/test/run-pass/typeid-intrinsic.rs
index c874fbb7a8b..90f0767534b 100644
--- a/src/test/run-pass/typeid-intrinsic.rs
+++ b/src/test/run-pass/typeid-intrinsic.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast check-fast doesn't like aux-build
 // aux-build:typeid-intrinsic.rs
 // aux-build:typeid-intrinsic2.rs
 
diff --git a/src/test/run-pass/unwind-resource.rs b/src/test/run-pass/unwind-resource.rs
index 2d05eb22196..13370ea340f 100644
--- a/src/test/run-pass/unwind-resource.rs
+++ b/src/test/run-pass/unwind-resource.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 use std::task;
 
diff --git a/src/test/run-pass/use.rs b/src/test/run-pass/use.rs
index fb021411508..8b4e47a5562 100644
--- a/src/test/run-pass/use.rs
+++ b/src/test/run-pass/use.rs
@@ -1,4 +1,3 @@
-// ignore-fast
 
 // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
@@ -10,7 +9,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 
 #[allow(unused_imports)];
 
diff --git a/src/test/run-pass/use_inline_dtor.rs b/src/test/run-pass/use_inline_dtor.rs
index 9cb11c10e3e..18cb478be38 100644
--- a/src/test/run-pass/use_inline_dtor.rs
+++ b/src/test/run-pass/use_inline_dtor.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // aux-build:inline_dtor.rs
-// ignore-fast
 
 extern crate inline_dtor;
 
diff --git a/src/test/run-pass/utf8_idents.rs b/src/test/run-pass/utf8_idents.rs
index 9197f147874..640a02c1535 100644
--- a/src/test/run-pass/utf8_idents.rs
+++ b/src/test/run-pass/utf8_idents.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast feature doesn't work.
 
 #[feature(non_ascii_idents)];
 
diff --git a/src/test/run-pass/vector-sort-failure-safe.rs b/src/test/run-pass/vector-sort-failure-safe.rs
index 0190355e127..00bc95b36f7 100644
--- a/src/test/run-pass/vector-sort-failure-safe.rs
+++ b/src/test/run-pass/vector-sort-failure-safe.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast #7103 `extern crate` does not work on check-fast
 extern crate rand;
 
 use std::task;
diff --git a/src/test/run-pass/xcrate-address-insignificant.rs b/src/test/run-pass/xcrate-address-insignificant.rs
index b231b859a06..ddb83dedcc0 100644
--- a/src/test/run-pass/xcrate-address-insignificant.rs
+++ b/src/test/run-pass/xcrate-address-insignificant.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast check-fast doesn't like aux-build
 // aux-build:xcrate_address_insignificant.rs
 
 extern crate foo = "xcrate_address_insignificant";
diff --git a/src/test/run-pass/xcrate-static-addresses.rs b/src/test/run-pass/xcrate-static-addresses.rs
index d3184968ee6..634c9623e84 100644
--- a/src/test/run-pass/xcrate-static-addresses.rs
+++ b/src/test/run-pass/xcrate-static-addresses.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:xcrate_static_addresses.rs
 
 extern crate xcrate_static_addresses;
diff --git a/src/test/run-pass/xcrate-trait-lifetime-param.rs b/src/test/run-pass/xcrate-trait-lifetime-param.rs
index b5aae62841f..56d6b4eae94 100644
--- a/src/test/run-pass/xcrate-trait-lifetime-param.rs
+++ b/src/test/run-pass/xcrate-trait-lifetime-param.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// ignore-fast
 // aux-build:xcrate-trait-lifetime-param.rs
 
 extern crate other = "xcrate-trait-lifetime-param";
diff --git a/src/test/run-pass/xcrate-unit-struct.rs b/src/test/run-pass/xcrate-unit-struct.rs
index 3a440037cf8..ae8d628289d 100644
--- a/src/test/run-pass/xcrate-unit-struct.rs
+++ b/src/test/run-pass/xcrate-unit-struct.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 // aux-build:xcrate_unit_struct.rs
-// ignore-fast
 extern crate xcrate_unit_struct;
 
 static s1: xcrate_unit_struct::Struct = xcrate_unit_struct::Struct;