about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2012-09-11 17:46:20 -0700
committerBrian Anderson <banderson@mozilla.com>2012-09-11 19:25:43 -0700
commitea01ee2e9e161a7028b98848c071e5fe9c30c7f7 (patch)
tree2d56840d3f626855e36fe824424453d228dcfdf3 /src
parentfb851242b7b47546ae591b75642361a494536a53 (diff)
downloadrust-ea01ee2e9e161a7028b98848c071e5fe9c30c7f7.tar.gz
rust-ea01ee2e9e161a7028b98848c071e5fe9c30c7f7.zip
Convert 'use' to 'extern mod'. Remove old 'use' syntax
Diffstat (limited to 'src')
-rw-r--r--src/cargo/cargo.rc8
-rw-r--r--src/compiletest/compiletest.rc4
-rw-r--r--src/fuzzer/fuzzer.rc6
-rw-r--r--src/libcore/core.rs4
-rw-r--r--src/libstd/std.rc2
-rw-r--r--src/libsyntax/parse/parser.rs14
-rw-r--r--src/libsyntax/print/pprust.rs2
-rw-r--r--src/libsyntax/syntax.rc4
-rw-r--r--src/rustc/driver/rustc.rs8
-rw-r--r--src/rustc/rustc.rc6
-rw-r--r--src/rustdoc/rustdoc.rc8
-rw-r--r--src/test/auxiliary/crateresolve4b-1.rs2
-rw-r--r--src/test/auxiliary/crateresolve4b-2.rs2
-rw-r--r--src/test/auxiliary/crateresolve7x.rs4
-rw-r--r--src/test/auxiliary/issue-2414-b.rs2
-rw-r--r--src/test/auxiliary/issue-2526.rs2
-rw-r--r--src/test/auxiliary/issue-2631-a.rs2
-rw-r--r--src/test/auxiliary/issue_2242_b.rs2
-rw-r--r--src/test/auxiliary/issue_2242_c.rs2
-rw-r--r--src/test/auxiliary/issue_2316_b.rs2
-rw-r--r--src/test/bench/core-map.rs2
-rw-r--r--src/test/bench/core-std.rs2
-rw-r--r--src/test/bench/core-vec-append.rs2
-rw-r--r--src/test/bench/graph500-bfs.rs2
-rw-r--r--src/test/bench/msgsend-pipes-shared.rs2
-rw-r--r--src/test/bench/msgsend-pipes.rs2
-rw-r--r--src/test/bench/msgsend-ring-mutex-arcs.rs2
-rw-r--r--src/test/bench/msgsend-ring-pipes.rs2
-rw-r--r--src/test/bench/msgsend-ring-rw-arcs.rs2
-rw-r--r--src/test/bench/msgsend-ring.rs2
-rw-r--r--src/test/bench/msgsend.rs2
-rw-r--r--src/test/bench/pingpong.rs2
-rw-r--r--src/test/bench/shootout-ackermann.rs2
-rw-r--r--src/test/bench/shootout-binarytrees.rs2
-rw-r--r--src/test/bench/shootout-chameneos-redux.rs2
-rw-r--r--src/test/bench/shootout-fannkuchredux.rs2
-rw-r--r--src/test/bench/shootout-fasta.rs2
-rw-r--r--src/test/bench/shootout-fibo.rs2
-rw-r--r--src/test/bench/shootout-k-nucleotide-pipes.rs2
-rw-r--r--src/test/bench/shootout-k-nucleotide.rs2
-rw-r--r--src/test/bench/shootout-mandelbrot.rs2
-rw-r--r--src/test/bench/shootout-nbody.rs2
-rw-r--r--src/test/bench/shootout-pfib.rs2
-rw-r--r--src/test/bench/shootout-spectralnorm.rs2
-rw-r--r--src/test/bench/shootout-threadring.rs2
-rw-r--r--src/test/bench/std-smallintmap.rs2
-rw-r--r--src/test/bench/sudoku.rs2
-rw-r--r--src/test/bench/task-perf-alloc-unwind.rs2
-rw-r--r--src/test/bench/task-perf-word-count-generic.rs2
-rw-r--r--src/test/compile-fail/ambig_impl_2_exe.rs2
-rw-r--r--src/test/compile-fail/arc-cant-nest-rw-arc-3177.rs2
-rw-r--r--src/test/compile-fail/arc-rw-cond-shouldnt-escape.rs2
-rw-r--r--src/test/compile-fail/arc-rw-read-mode-shouldnt-escape.rs2
-rw-r--r--src/test/compile-fail/arc-rw-state-shouldnt-escape.rs2
-rw-r--r--src/test/compile-fail/arc-rw-write-mode-cond-shouldnt-escape.rs2
-rw-r--r--src/test/compile-fail/arc-rw-write-mode-shouldnt-escape.rs2
-rw-r--r--src/test/compile-fail/borrowck-borrowed-uniq-rvalue.rs2
-rw-r--r--src/test/compile-fail/crateresolve1.rs2
-rw-r--r--src/test/compile-fail/crateresolve2.rs4
-rw-r--r--src/test/compile-fail/crateresolve5.rs4
-rw-r--r--src/test/compile-fail/extfmt-not-enough-args.rs2
-rw-r--r--src/test/compile-fail/extfmt-too-many-args.rs2
-rw-r--r--src/test/compile-fail/for-loop-decl.rs2
-rw-r--r--src/test/compile-fail/issue-3021-b.rs2
-rw-r--r--src/test/compile-fail/issue-3021-c.rs2
-rw-r--r--src/test/compile-fail/issue-3021-d.rs2
-rw-r--r--src/test/compile-fail/issue-3021.rs2
-rw-r--r--src/test/compile-fail/issue-511.rs2
-rw-r--r--src/test/compile-fail/map-types.rs2
-rw-r--r--src/test/compile-fail/mutable-huh-ptr-assign.rs2
-rw-r--r--src/test/compile-fail/mutable-huh-variance-ptr.rs2
-rw-r--r--src/test/compile-fail/no-capture-arc.rs2
-rw-r--r--src/test/compile-fail/no-reuse-move-arc.rs2
-rw-r--r--src/test/compile-fail/noexporttypeexe.rs2
-rw-r--r--src/test/compile-fail/pattern-tyvar-2.rs2
-rw-r--r--src/test/compile-fail/pattern-tyvar.rs2
-rw-r--r--src/test/compile-fail/private-struct-field-cross-crate.rs2
-rw-r--r--src/test/compile-fail/qquote-1.rs4
-rw-r--r--src/test/compile-fail/qquote-2.rs2
-rw-r--r--src/test/compile-fail/regions-glb-free-free.rs2
-rw-r--r--src/test/compile-fail/seq-args.rs2
-rw-r--r--src/test/compile-fail/spawn-non-nil-fn.rs2
-rw-r--r--src/test/compile-fail/sync-cond-shouldnt-escape.rs2
-rw-r--r--src/test/compile-fail/sync-rwlock-cond-shouldnt-escape.rs2
-rw-r--r--src/test/compile-fail/sync-rwlock-read-mode-shouldnt-escape.rs2
-rw-r--r--src/test/compile-fail/sync-rwlock-write-mode-cond-shouldnt-escape.rs2
-rw-r--r--src/test/compile-fail/sync-rwlock-write-mode-shouldnt-escape.rs2
-rw-r--r--src/test/compile-fail/tag-that-dare-not-speak-its-name.rs2
-rw-r--r--src/test/compile-fail/use-meta-dup.rs2
-rw-r--r--src/test/compile-fail/use-meta-mismatch.rs2
-rw-r--r--src/test/compile-fail/use-meta.rc2
-rw-r--r--src/test/compile-fail/view-items-at-top.rs2
-rw-r--r--src/test/run-fail/fail-main.rs2
-rw-r--r--src/test/run-fail/fmt-fail.rs2
-rw-r--r--src/test/run-fail/for-each-loop-fail.rs2
-rw-r--r--src/test/run-fail/issue-2156.rs2
-rw-r--r--src/test/run-fail/issue-2444.rs2
-rw-r--r--src/test/run-fail/linked-failure.rs2
-rw-r--r--src/test/run-fail/linked-failure2.rs2
-rw-r--r--src/test/run-fail/linked-failure3.rs2
-rw-r--r--src/test/run-fail/linked-failure4.rs2
-rw-r--r--src/test/run-fail/morestack2.rs2
-rw-r--r--src/test/run-fail/morestack3.rs2
-rw-r--r--src/test/run-fail/morestack4.rs2
-rw-r--r--src/test/run-fail/port-type.rs2
-rw-r--r--src/test/run-fail/run-unexported-tests.rs2
-rw-r--r--src/test/run-fail/spawnfail.rs2
-rw-r--r--src/test/run-fail/task-comm-recv-block.rs2
-rw-r--r--src/test/run-fail/unwind-misc-1.rs2
-rw-r--r--src/test/run-fail/zip-different-lengths.rs2
-rw-r--r--src/test/run-pass-fulldeps/qquote.rs4
-rw-r--r--src/test/run-pass/acyclic-unwind.rs2
-rw-r--r--src/test/run-pass/alias-uninit-value.rs2
-rw-r--r--src/test/run-pass/alt-join.rs2
-rw-r--r--src/test/run-pass/anon-extern-mod-cross-crate-2.rs2
-rw-r--r--src/test/run-pass/attr-before-view-item.rs2
-rw-r--r--src/test/run-pass/attr-before-view-item2.rs2
-rw-r--r--src/test/run-pass/auto_serialize.rs2
-rw-r--r--src/test/run-pass/basic-1.rs2
-rw-r--r--src/test/run-pass/basic-2.rs2
-rw-r--r--src/test/run-pass/basic.rs2
-rw-r--r--src/test/run-pass/bind-by-move.rs2
-rw-r--r--src/test/run-pass/binops.rs2
-rw-r--r--src/test/run-pass/bitv-perf-test.rs2
-rw-r--r--src/test/run-pass/block-arg-call-as.rs2
-rw-r--r--src/test/run-pass/block-vec-map2.rs2
-rw-r--r--src/test/run-pass/c-stack-returning-int64.rs2
-rw-r--r--src/test/run-pass/cci_borrow.rs2
-rw-r--r--src/test/run-pass/cci_capture_clause.rs2
-rw-r--r--src/test/run-pass/cci_impl_exe.rs2
-rw-r--r--src/test/run-pass/cci_iter_exe.rs2
-rw-r--r--src/test/run-pass/cci_nested_exe.rs2
-rw-r--r--src/test/run-pass/cci_no_inline_exe.rs2
-rw-r--r--src/test/run-pass/chan-leak.rs2
-rw-r--r--src/test/run-pass/child-outlives-parent.rs2
-rw-r--r--src/test/run-pass/class-cast-to-trait-cross-crate-2.rs2
-rw-r--r--src/test/run-pass/class-impl-parameterized-trait.rs2
-rw-r--r--src/test/run-pass/class-impl-very-parameterized-trait.rs2
-rw-r--r--src/test/run-pass/class-implement-trait-cross-crate.rs2
-rw-r--r--src/test/run-pass/class-implements-multiple-traits.rs2
-rw-r--r--src/test/run-pass/class-method-cross-crate.rs2
-rw-r--r--src/test/run-pass/class-methods-cross-crate.rs2
-rw-r--r--src/test/run-pass/class-poly-methods-cross-crate.rs2
-rw-r--r--src/test/run-pass/class-trait-bounded-param.rs2
-rw-r--r--src/test/run-pass/classes-cross-crate.rs2
-rw-r--r--src/test/run-pass/classes-simple-cross-crate.rs2
-rw-r--r--src/test/run-pass/clone-with-exterior.rs2
-rw-r--r--src/test/run-pass/comm.rs2
-rw-r--r--src/test/run-pass/crateresolve1.rs2
-rw-r--r--src/test/run-pass/crateresolve2.rs6
-rw-r--r--src/test/run-pass/crateresolve3.rs4
-rw-r--r--src/test/run-pass/crateresolve4.rs4
-rw-r--r--src/test/run-pass/crateresolve5.rs4
-rw-r--r--src/test/run-pass/crateresolve6.rs4
-rw-r--r--src/test/run-pass/crateresolve7.rs2
-rw-r--r--src/test/run-pass/decl-with-recv.rs2
-rw-r--r--src/test/run-pass/explicit-self-generic.rs2
-rw-r--r--src/test/run-pass/extern-crosscrate.rs2
-rw-r--r--src/test/run-pass/float-nan.rs2
-rw-r--r--src/test/run-pass/fn-bare-size.rs2
-rw-r--r--src/test/run-pass/foreign-fn-linkname.rs2
-rw-r--r--src/test/run-pass/hashmap-memory.rs2
-rw-r--r--src/test/run-pass/import-glob-crate.rs2
-rw-r--r--src/test/run-pass/import-in-block.rs2
-rw-r--r--src/test/run-pass/infinite-loops.rs2
-rw-r--r--src/test/run-pass/intrinsic-atomics-cc.rs2
-rw-r--r--src/test/run-pass/invoke-external-foreign.rs2
-rw-r--r--src/test/run-pass/issue-1112.rs2
-rw-r--r--src/test/run-pass/issue-1696.rs2
-rw-r--r--src/test/run-pass/issue-2101.rs2
-rw-r--r--src/test/run-pass/issue-2242-d.rs6
-rw-r--r--src/test/run-pass/issue-2316-c.rs2
-rw-r--r--src/test/run-pass/issue-2380-b.rs2
-rw-r--r--src/test/run-pass/issue-2383.rs2
-rw-r--r--src/test/run-pass/issue-2414-c.rs2
-rw-r--r--src/test/run-pass/issue-2472.rs2
-rw-r--r--src/test/run-pass/issue-2526-a.rs2
-rw-r--r--src/test/run-pass/issue-2631-b.rs4
-rw-r--r--src/test/run-pass/issue-2723-b.rs2
-rw-r--r--src/test/run-pass/issue-2804-2.rs2
-rw-r--r--src/test/run-pass/issue-2804.rs2
-rw-r--r--src/test/run-pass/issue-2904.rs2
-rw-r--r--src/test/run-pass/issue-2989.rs2
-rw-r--r--src/test/run-pass/issue-3012-2.rs2
-rw-r--r--src/test/run-pass/issue-506.rs2
-rw-r--r--src/test/run-pass/issue-507.rs2
-rw-r--r--src/test/run-pass/issue-687.rs2
-rw-r--r--src/test/run-pass/issue-783.rs2
-rw-r--r--src/test/run-pass/issue2170exe.rs2
-rw-r--r--src/test/run-pass/item-attributes.rs2
-rw-r--r--src/test/run-pass/ivec-tag.rs2
-rw-r--r--src/test/run-pass/lazychan.rs2
-rw-r--r--src/test/run-pass/leaky_comm.rs2
-rw-r--r--src/test/run-pass/log-knows-the-names-of-variants-in-std.rs2
-rw-r--r--src/test/run-pass/lots-a-fail.rs2
-rw-r--r--src/test/run-pass/many.rs2
-rw-r--r--src/test/run-pass/mlist-cycle.rs2
-rw-r--r--src/test/run-pass/monomorphized-callees-with-ty-params-3314.rs2
-rw-r--r--src/test/run-pass/morestack5.rs2
-rw-r--r--src/test/run-pass/move-3-unique.rs2
-rw-r--r--src/test/run-pass/move-3.rs2
-rw-r--r--src/test/run-pass/move-4-unique.rs2
-rw-r--r--src/test/run-pass/move-4.rs2
-rw-r--r--src/test/run-pass/mutable-alias-vec.rs2
-rw-r--r--src/test/run-pass/nested-pattern.rs2
-rw-r--r--src/test/run-pass/non-boolean-pure-fns.rs2
-rw-r--r--src/test/run-pass/pipe-detect-term.rs2
-rw-r--r--src/test/run-pass/pipe-peek.rs2
-rw-r--r--src/test/run-pass/pipe-select.rs2
-rw-r--r--src/test/run-pass/pipe-sleep.rs2
-rw-r--r--src/test/run-pass/placement-new-arena.rs2
-rw-r--r--src/test/run-pass/regions-mock-trans-impls.rs2
-rw-r--r--src/test/run-pass/rt-circular-buffer.rs2
-rw-r--r--src/test/run-pass/send-iloop.rs2
-rw-r--r--src/test/run-pass/send-type-inference.rs2
-rw-r--r--src/test/run-pass/sendfn-deep-copy.rs2
-rw-r--r--src/test/run-pass/sendfn-generic-fn.rs2
-rw-r--r--src/test/run-pass/sendfn-spawn-with-fn-arg.rs2
-rw-r--r--src/test/run-pass/shape_intrinsic_tag_then_rec.rs2
-rw-r--r--src/test/run-pass/spawn-fn.rs2
-rw-r--r--src/test/run-pass/spawn-types.rs2
-rw-r--r--src/test/run-pass/spawn.rs2
-rw-r--r--src/test/run-pass/spawn2.rs2
-rw-r--r--src/test/run-pass/static-method-xcrate.rs2
-rw-r--r--src/test/run-pass/str-append.rs2
-rw-r--r--src/test/run-pass/str-multiline.rs2
-rw-r--r--src/test/run-pass/string-self-append.rs2
-rw-r--r--src/test/run-pass/syntax-extension-fmt.rs2
-rw-r--r--src/test/run-pass/task-comm-0.rs2
-rw-r--r--src/test/run-pass/task-comm-10.rs2
-rw-r--r--src/test/run-pass/task-comm-11.rs2
-rw-r--r--src/test/run-pass/task-comm-12.rs2
-rw-r--r--src/test/run-pass/task-comm-13.rs2
-rw-r--r--src/test/run-pass/task-comm-15.rs2
-rw-r--r--src/test/run-pass/task-comm-16.rs2
-rw-r--r--src/test/run-pass/task-comm-17.rs2
-rw-r--r--src/test/run-pass/task-comm-3.rs2
-rw-r--r--src/test/run-pass/task-comm-4.rs2
-rw-r--r--src/test/run-pass/task-comm-5.rs2
-rw-r--r--src/test/run-pass/task-comm-6.rs2
-rw-r--r--src/test/run-pass/task-comm-7.rs2
-rw-r--r--src/test/run-pass/task-comm-9.rs2
-rw-r--r--src/test/run-pass/task-comm-chan-cleanup.rs2
-rw-r--r--src/test/run-pass/task-comm-chan-cleanup2.rs2
-rw-r--r--src/test/run-pass/task-comm-chan-cleanup3.rs2
-rw-r--r--src/test/run-pass/task-comm-chan-cleanup4.rs2
-rw-r--r--src/test/run-pass/task-comm-chan-nil.rs2
-rw-r--r--src/test/run-pass/task-comm.rs2
-rw-r--r--src/test/run-pass/task-compare.rs2
-rw-r--r--src/test/run-pass/task-killjoin-rsrc.rs2
-rw-r--r--src/test/run-pass/task-killjoin.rs2
-rw-r--r--src/test/run-pass/task-life-0.rs2
-rw-r--r--src/test/run-pass/terminate-in-initializer.rs2
-rw-r--r--src/test/run-pass/test-ignore-cfg.rs2
-rw-r--r--src/test/run-pass/test-runner-hides-main.rs2
-rw-r--r--src/test/run-pass/threads.rs2
-rw-r--r--src/test/run-pass/trait-to-str.rs2
-rw-r--r--src/test/run-pass/type-sizes.rs2
-rw-r--r--src/test/run-pass/unify-return-ty.rs2
-rw-r--r--src/test/run-pass/unique-copy-box.rs2
-rw-r--r--src/test/run-pass/unique-send-2.rs2
-rw-r--r--src/test/run-pass/unique-send.rs2
-rw-r--r--src/test/run-pass/unwind-box.rs2
-rw-r--r--src/test/run-pass/unwind-resource.rs2
-rw-r--r--src/test/run-pass/unwind-resource2.rs2
-rw-r--r--src/test/run-pass/unwind-unique.rs2
-rw-r--r--src/test/run-pass/use-crate-name-alias.rs2
-rw-r--r--src/test/run-pass/use.rs6
-rw-r--r--src/test/run-pass/utf8_chars.rs2
-rw-r--r--src/test/run-pass/vec-self-append.rs2
-rw-r--r--src/test/run-pass/yield.rs2
-rw-r--r--src/test/run-pass/yield1.rs2
-rw-r--r--src/test/run-pass/yield2.rs2
-rw-r--r--src/test/run-pass/zip-same-length.rs2
274 files changed, 308 insertions, 316 deletions
diff --git a/src/cargo/cargo.rc b/src/cargo/cargo.rc
index f4eaa0a7e99..5a1b399751f 100644
--- a/src/cargo/cargo.rc
+++ b/src/cargo/cargo.rc
@@ -21,10 +21,10 @@
 #[allow(vecs_implicitly_copyable,
         non_implicitly_copyable_typarams)];
 
-use core(vers = "0.4");
-use std(vers = "0.4");
-use rustc(vers = "0.4");
-use syntax(vers = "0.4");
+extern mod core(vers = "0.4");
+extern mod std(vers = "0.4");
+extern mod rustc(vers = "0.4");
+extern mod syntax(vers = "0.4");
 
 use core::*;
 
diff --git a/src/compiletest/compiletest.rc b/src/compiletest/compiletest.rc
index 201edcb0f26..5d2179e0f98 100644
--- a/src/compiletest/compiletest.rc
+++ b/src/compiletest/compiletest.rc
@@ -4,8 +4,8 @@
 
 #[allow(vecs_implicitly_copyable)];
 
-use core(vers = "0.4");
-use std(vers = "0.4");
+extern mod core(vers = "0.4");
+extern mod std(vers = "0.4");
 
 use core::*;
 
diff --git a/src/fuzzer/fuzzer.rc b/src/fuzzer/fuzzer.rc
index 2b84c21b1b1..b3a70b2c26b 100644
--- a/src/fuzzer/fuzzer.rc
+++ b/src/fuzzer/fuzzer.rc
@@ -6,9 +6,9 @@
 
 #[allow(vecs_implicitly_copyable)];
 
-use core(vers = "0.4");
-use std(vers = "0.4");
-use syntax(vers = "0.4");
+extern mod core(vers = "0.4");
+extern mod std(vers = "0.4");
+extern mod syntax(vers = "0.4");
 
 use core::*;
 
diff --git a/src/libcore/core.rs b/src/libcore/core.rs
index 6f2e5516c06..3e9afb0203b 100644
--- a/src/libcore/core.rs
+++ b/src/libcore/core.rs
@@ -58,7 +58,7 @@ export Add, Sub, Mul, Div, Modulo, Neg, BitAnd, BitOr, BitXor;
 export Shl, Shr, Index;
 
 #[cfg(test)]
-use coreops(name = "core", vers = "0.4");
+extern mod coreops(name = "core", vers = "0.4");
 
 #[cfg(test)]
 use coreops::ops::{Const, Copy, Send, Owned};
@@ -96,7 +96,7 @@ mod core {
 // Similar to above. Some magic to make core testable.
 #[cfg(test)]
 mod std {
-    use std(vers = "0.4");
+    extern mod std(vers = "0.4");
     use std::test;
 }
 
diff --git a/src/libstd/std.rc b/src/libstd/std.rc
index 3442725cbdb..c43faa1fd6c 100644
--- a/src/libstd/std.rc
+++ b/src/libstd/std.rc
@@ -13,7 +13,7 @@
 #[allow(vecs_implicitly_copyable)];
 #[deny(non_camel_case_types)];
 
-use core(vers = "0.4");
+extern mod core(vers = "0.4");
 use core::*;
 
 export net, net_tcp, net_ip, net_url;
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index 0b326c14158..676610c66be 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -3328,7 +3328,7 @@ impl parser {
                                           visibility,
                                           maybe_append(attrs, extra_attrs)));
         } else if self.eat_keyword(~"use") {
-            let view_item = self.parse_use(visibility);
+            let view_item = self.parse_use();
             self.expect(token::SEMI);
             return iovi_view_item(@{
                 node: view_item,
@@ -3379,15 +3379,7 @@ impl parser {
         }
     }
 
-    fn parse_use(vis: visibility) -> view_item_ {
-        if vis != public && (self.look_ahead(1) == token::SEMI ||
-                             self.look_ahead(1) == token::LPAREN) {
-            // Old-style "use"; i.e. what we now call "extern mod".
-            let ident = self.parse_ident();
-            let metadata = self.parse_optional_meta();
-            return view_item_use(ident, metadata, self.get_id());
-        }
-
+    fn parse_use() -> view_item_ {
         return view_item_import(self.parse_view_paths());
     }
 
@@ -3496,7 +3488,7 @@ impl parser {
     fn parse_view_item(+attrs: ~[attribute]) -> @view_item {
         let lo = self.span.lo, vis = self.parse_visibility();
         let node = if self.eat_keyword(~"use") {
-            self.parse_use(vis)
+            self.parse_use()
         } else if self.eat_keyword(~"export") {
             view_item_export(self.parse_view_paths())
         } else if self.eat_keyword(~"extern") {
diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs
index 62ec882e345..46fbaed8b5d 100644
--- a/src/libsyntax/print/pprust.rs
+++ b/src/libsyntax/print/pprust.rs
@@ -1747,7 +1747,7 @@ fn print_view_item(s: ps, item: @ast::view_item) {
     print_outer_attributes(s, item.attrs);
     match item.node {
       ast::view_item_use(id, mta, _) => {
-        head(s, ~"use");
+        head(s, ~"extern mod");
         print_ident(s, id);
         if vec::len(mta) > 0u {
             popen(s);
diff --git a/src/libsyntax/syntax.rc b/src/libsyntax/syntax.rc
index a7b606dc2a2..6af0c5b597a 100644
--- a/src/libsyntax/syntax.rc
+++ b/src/libsyntax/syntax.rc
@@ -10,8 +10,8 @@
 
 #[allow(vecs_implicitly_copyable)];
 
-use core(vers = "0.4");
-use std(vers = "0.4");
+extern mod core(vers = "0.4");
+extern mod std(vers = "0.4");
 
 use core::*;
 
diff --git a/src/rustc/driver/rustc.rs b/src/rustc/driver/rustc.rs
index c4714ecf9e5..1ccd27c786b 100644
--- a/src/rustc/driver/rustc.rs
+++ b/src/rustc/driver/rustc.rs
@@ -1,10 +1,10 @@
 #[no_core];
 #[allow(vecs_implicitly_copyable)];
 
-use core(vers = "0.4");
-use std(vers = "0.4");
-use rustc(vers = "0.4");
-use syntax(vers = "0.4");
+extern mod core(vers = "0.4");
+extern mod std(vers = "0.4");
+extern mod rustc(vers = "0.4");
+extern mod syntax(vers = "0.4");
 
 use core::*;
 
diff --git a/src/rustc/rustc.rc b/src/rustc/rustc.rc
index 70f617fe4a5..aff335ccc56 100644
--- a/src/rustc/rustc.rc
+++ b/src/rustc/rustc.rc
@@ -14,9 +14,9 @@
 #[allow(vecs_implicitly_copyable)];
 // #[warn(deprecated_pattern)];
 
-use core(vers = "0.4");
-use std(vers = "0.4");
-use syntax(vers = "0.4");
+extern mod core(vers = "0.4");
+extern mod std(vers = "0.4");
+extern mod syntax(vers = "0.4");
 
 use core::*;
 
diff --git a/src/rustdoc/rustdoc.rc b/src/rustdoc/rustdoc.rc
index d0e073986ef..5553251329c 100644
--- a/src/rustdoc/rustdoc.rc
+++ b/src/rustdoc/rustdoc.rc
@@ -14,10 +14,10 @@
 #[allow(vecs_implicitly_copyable,
         non_implicitly_copyable_typarams)];
 
-use core(vers = "0.4");
-use std(vers = "0.4");
-use rustc(vers = "0.4");
-use syntax(vers = "0.4");
+extern mod core(vers = "0.4");
+extern mod std(vers = "0.4");
+extern mod rustc(vers = "0.4");
+extern mod syntax(vers = "0.4");
 
 use core::*;
 use std::par;
diff --git a/src/test/auxiliary/crateresolve4b-1.rs b/src/test/auxiliary/crateresolve4b-1.rs
index b5cda2a814e..8c71b5ad131 100644
--- a/src/test/auxiliary/crateresolve4b-1.rs
+++ b/src/test/auxiliary/crateresolve4b-1.rs
@@ -3,6 +3,6 @@
 #[link(name = "crateresolve4b", vers = "0.1")];
 #[crate_type = "lib"];
 
-use crateresolve4a(vers="0.2");
+extern mod crateresolve4a(vers="0.2");
 
 fn f() -> int { crateresolve4a::g() }
diff --git a/src/test/auxiliary/crateresolve4b-2.rs b/src/test/auxiliary/crateresolve4b-2.rs
index 1129b98542c..3bb1bc23cc2 100644
--- a/src/test/auxiliary/crateresolve4b-2.rs
+++ b/src/test/auxiliary/crateresolve4b-2.rs
@@ -3,6 +3,6 @@
 #[link(name = "crateresolve4b", vers = "0.2")];
 #[crate_type = "lib"];
 
-use crateresolve4a(vers="0.1");
+extern mod crateresolve4a(vers="0.1");
 
 fn g() -> int { crateresolve4a::f() }
diff --git a/src/test/auxiliary/crateresolve7x.rs b/src/test/auxiliary/crateresolve7x.rs
index 2b8625f10a8..45a41581b3a 100644
--- a/src/test/auxiliary/crateresolve7x.rs
+++ b/src/test/auxiliary/crateresolve7x.rs
@@ -4,11 +4,11 @@
 
 // These both have the same version but differ in other metadata
 mod a {
-    use cr_1 (name = "crateresolve_calories", vers = "0.1", calories="100");
+    extern mod cr_1 (name = "crateresolve_calories", vers = "0.1", calories="100");
     fn f() -> int { cr_1::f() }
 }
 
 mod b {
-    use cr_2 (name = "crateresolve_calories", vers = "0.1", calories="200");
+    extern mod cr_2 (name = "crateresolve_calories", vers = "0.1", calories="200");
     fn f() -> int { cr_2::f() }
 }
diff --git a/src/test/auxiliary/issue-2414-b.rs b/src/test/auxiliary/issue-2414-b.rs
index 2b2db4cda5d..5d16a309365 100644
--- a/src/test/auxiliary/issue-2414-b.rs
+++ b/src/test/auxiliary/issue-2414-b.rs
@@ -3,5 +3,5 @@
 #[link(name = "b", vers = "0.1")];
 #[crate_type = "lib"];
 
-use a;
+extern mod a;
 
diff --git a/src/test/auxiliary/issue-2526.rs b/src/test/auxiliary/issue-2526.rs
index ef977507dd2..8352c3163a2 100644
--- a/src/test/auxiliary/issue-2526.rs
+++ b/src/test/auxiliary/issue-2526.rs
@@ -3,7 +3,7 @@
        uuid = "54cc1bc9-02b8-447c-a227-75ebc923bc29")];
 #[crate_type = "lib"];
 
-use std;
+extern mod std;
 
 export context;
 
diff --git a/src/test/auxiliary/issue-2631-a.rs b/src/test/auxiliary/issue-2631-a.rs
index f98f5a3cafc..d2d8d7a28bd 100644
--- a/src/test/auxiliary/issue-2631-a.rs
+++ b/src/test/auxiliary/issue-2631-a.rs
@@ -1,7 +1,7 @@
 #[link(name = "req")];
 #[crate_type = "lib"];
 
-use std;
+extern mod std;
 
 use dvec::*;
 use dvec::DVec;
diff --git a/src/test/auxiliary/issue_2242_b.rs b/src/test/auxiliary/issue_2242_b.rs
index 55beefd2683..001569f636a 100644
--- a/src/test/auxiliary/issue_2242_b.rs
+++ b/src/test/auxiliary/issue_2242_b.rs
@@ -1,7 +1,7 @@
 #[link(name = "b", vers = "0.1")];
 #[crate_type = "lib"];
 
-use a;
+extern mod a;
 use a::to_strz;
 
 impl int: to_strz {
diff --git a/src/test/auxiliary/issue_2242_c.rs b/src/test/auxiliary/issue_2242_c.rs
index 18dc2cd1c05..0ee654fa82e 100644
--- a/src/test/auxiliary/issue_2242_c.rs
+++ b/src/test/auxiliary/issue_2242_c.rs
@@ -1,7 +1,7 @@
 #[link(name = "c", vers = "0.1")];
 #[crate_type = "lib"];
 
-use a;
+extern mod a;
 
 use a::to_strz;
 
diff --git a/src/test/auxiliary/issue_2316_b.rs b/src/test/auxiliary/issue_2316_b.rs
index 81a7ed3db4c..0e3057cbc78 100644
--- a/src/test/auxiliary/issue_2316_b.rs
+++ b/src/test/auxiliary/issue_2316_b.rs
@@ -1,4 +1,4 @@
-use issue_2316_a;
+extern mod issue_2316_a;
 
 mod cloth {
 
diff --git a/src/test/bench/core-map.rs b/src/test/bench/core-map.rs
index 6f3dce6647a..633e421ecf9 100644
--- a/src/test/bench/core-map.rs
+++ b/src/test/bench/core-map.rs
@@ -4,7 +4,7 @@
 
 */
 
-use std;
+extern mod std;
 use std::map;
 use mutable::Mut;
 use send_map::linear::*;
diff --git a/src/test/bench/core-std.rs b/src/test/bench/core-std.rs
index e8c77926fd3..8ab41b0e363 100644
--- a/src/test/bench/core-std.rs
+++ b/src/test/bench/core-std.rs
@@ -1,6 +1,6 @@
 // Microbenchmarks for various functions in core and std
 
-use std;
+extern mod std;
 
 use std::time::precise_time_s;
 use std::map;
diff --git a/src/test/bench/core-vec-append.rs b/src/test/bench/core-vec-append.rs
index 8d6fc709d09..2602389935c 100644
--- a/src/test/bench/core-vec-append.rs
+++ b/src/test/bench/core-vec-append.rs
@@ -1,6 +1,6 @@
 // A raw test of vector appending performance.
 
-use std;
+extern mod std;
 use dvec::DVec;
 use io::WriterUtil;
 
diff --git a/src/test/bench/graph500-bfs.rs b/src/test/bench/graph500-bfs.rs
index d37f3aad5c2..ddd900aa382 100644
--- a/src/test/bench/graph500-bfs.rs
+++ b/src/test/bench/graph500-bfs.rs
@@ -4,7 +4,7 @@ An implementation of the Graph500 Breadth First Search problem in Rust.
 
 */
 
-use std;
+extern mod std;
 use std::arc;
 use std::time;
 use std::map;
diff --git a/src/test/bench/msgsend-pipes-shared.rs b/src/test/bench/msgsend-pipes-shared.rs
index 428394e0f3d..a8c51b2502b 100644
--- a/src/test/bench/msgsend-pipes-shared.rs
+++ b/src/test/bench/msgsend-pipes-shared.rs
@@ -10,7 +10,7 @@
 
 // xfail-pretty
 
-use std;
+extern mod std;
 use io::Writer;
 use io::WriterUtil;
 
diff --git a/src/test/bench/msgsend-pipes.rs b/src/test/bench/msgsend-pipes.rs
index 8753e9aa4e6..52a30861b62 100644
--- a/src/test/bench/msgsend-pipes.rs
+++ b/src/test/bench/msgsend-pipes.rs
@@ -6,7 +6,7 @@
 
 // xfail-pretty
 
-use std;
+extern mod std;
 use io::Writer;
 use io::WriterUtil;
 
diff --git a/src/test/bench/msgsend-ring-mutex-arcs.rs b/src/test/bench/msgsend-ring-mutex-arcs.rs
index 6cc9be29a22..86ab3df63b8 100644
--- a/src/test/bench/msgsend-ring-mutex-arcs.rs
+++ b/src/test/bench/msgsend-ring-mutex-arcs.rs
@@ -9,7 +9,7 @@
 
 use future::future;
 
-use std;
+extern mod std;
 use std::time;
 use std::arc;
 
diff --git a/src/test/bench/msgsend-ring-pipes.rs b/src/test/bench/msgsend-ring-pipes.rs
index 8c21db3d2f5..4e873b0127b 100644
--- a/src/test/bench/msgsend-ring-pipes.rs
+++ b/src/test/bench/msgsend-ring-pipes.rs
@@ -10,7 +10,7 @@
 
 use future::future;
 
-use std;
+extern mod std;
 use std::time;
 
 use pipes::recv;
diff --git a/src/test/bench/msgsend-ring-rw-arcs.rs b/src/test/bench/msgsend-ring-rw-arcs.rs
index 82621c2f7e9..d59a8dc47e8 100644
--- a/src/test/bench/msgsend-ring-rw-arcs.rs
+++ b/src/test/bench/msgsend-ring-rw-arcs.rs
@@ -9,7 +9,7 @@
 
 use future::future;
 
-use std;
+extern mod std;
 use std::time;
 use std::arc;
 
diff --git a/src/test/bench/msgsend-ring.rs b/src/test/bench/msgsend-ring.rs
index 15a18725abf..f07b7e7fbde 100644
--- a/src/test/bench/msgsend-ring.rs
+++ b/src/test/bench/msgsend-ring.rs
@@ -7,7 +7,7 @@
 use comm::*;
 use future::future;
 
-use std;
+extern mod std;
 use std::time;
 
 fn thread_ring(i: uint,
diff --git a/src/test/bench/msgsend.rs b/src/test/bench/msgsend.rs
index 7db202e30b1..6006b30a689 100644
--- a/src/test/bench/msgsend.rs
+++ b/src/test/bench/msgsend.rs
@@ -4,7 +4,7 @@
 //
 // I *think* it's the same, more or less.
 
-use std;
+extern mod std;
 use io::Writer;
 use io::WriterUtil;
 
diff --git a/src/test/bench/pingpong.rs b/src/test/bench/pingpong.rs
index 9ffe3a14b34..3d1d4985ee0 100644
--- a/src/test/bench/pingpong.rs
+++ b/src/test/bench/pingpong.rs
@@ -2,7 +2,7 @@
 
 // xfail-pretty
 
-use std;
+extern mod std;
 
 use pipes::{spawn_service, recv};
 use std::time::precise_time_s;
diff --git a/src/test/bench/shootout-ackermann.rs b/src/test/bench/shootout-ackermann.rs
index f3a558984ea..3de75ee10ab 100644
--- a/src/test/bench/shootout-ackermann.rs
+++ b/src/test/bench/shootout-ackermann.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 fn ack(m: int, n: int) -> int {
     if m == 0 {
diff --git a/src/test/bench/shootout-binarytrees.rs b/src/test/bench/shootout-binarytrees.rs
index f365c900522..976c140ba8b 100644
--- a/src/test/bench/shootout-binarytrees.rs
+++ b/src/test/bench/shootout-binarytrees.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 use std::arena;
 use methods = std::arena::Arena;
 
diff --git a/src/test/bench/shootout-chameneos-redux.rs b/src/test/bench/shootout-chameneos-redux.rs
index 0541e862aa7..785ad6fe767 100644
--- a/src/test/bench/shootout-chameneos-redux.rs
+++ b/src/test/bench/shootout-chameneos-redux.rs
@@ -1,6 +1,6 @@
 // chameneos
 
-use std;
+extern mod std;
 use std::map;
 use std::map::HashMap;
 use std::sort;
diff --git a/src/test/bench/shootout-fannkuchredux.rs b/src/test/bench/shootout-fannkuchredux.rs
index 8534e7ed668..24a43ec0d9d 100644
--- a/src/test/bench/shootout-fannkuchredux.rs
+++ b/src/test/bench/shootout-fannkuchredux.rs
@@ -1,5 +1,5 @@
 // Based on Isaac Gouy's fannkuchredux.csharp
-use std;
+extern mod std;
 
 fn fannkuch(n: int) -> int {
     fn perm1init(i: uint) -> int { return i as int; }
diff --git a/src/test/bench/shootout-fasta.rs b/src/test/bench/shootout-fasta.rs
index 2587920143b..f40b40b3aba 100644
--- a/src/test/bench/shootout-fasta.rs
+++ b/src/test/bench/shootout-fasta.rs
@@ -5,7 +5,7 @@
  * Computer Language Benchmarks Game
  * http://shootout.alioth.debian.org/
  */
-use std;
+extern mod std;
 use io::WriterUtil;
 
 fn LINE_LENGTH() -> uint { return 60u; }
diff --git a/src/test/bench/shootout-fibo.rs b/src/test/bench/shootout-fibo.rs
index 1bf7c1e4782..c007892fed4 100644
--- a/src/test/bench/shootout-fibo.rs
+++ b/src/test/bench/shootout-fibo.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 fn fib(n: int) -> int {
     if n < 2 {
diff --git a/src/test/bench/shootout-k-nucleotide-pipes.rs b/src/test/bench/shootout-k-nucleotide-pipes.rs
index c7ada4ef38d..239ad138ae0 100644
--- a/src/test/bench/shootout-k-nucleotide-pipes.rs
+++ b/src/test/bench/shootout-k-nucleotide-pipes.rs
@@ -2,7 +2,7 @@
 
 // multi tasking k-nucleotide
 
-use std;
+extern mod std;
 use std::map;
 use std::map::HashMap;
 use std::sort;
diff --git a/src/test/bench/shootout-k-nucleotide.rs b/src/test/bench/shootout-k-nucleotide.rs
index e6edb8754db..2cd1ef09558 100644
--- a/src/test/bench/shootout-k-nucleotide.rs
+++ b/src/test/bench/shootout-k-nucleotide.rs
@@ -2,7 +2,7 @@
 
 // multi tasking k-nucleotide
 
-use std;
+extern mod std;
 use std::map;
 use std::map::HashMap;
 use std::sort;
diff --git a/src/test/bench/shootout-mandelbrot.rs b/src/test/bench/shootout-mandelbrot.rs
index 19f1c6a4536..f4996f1cbc6 100644
--- a/src/test/bench/shootout-mandelbrot.rs
+++ b/src/test/bench/shootout-mandelbrot.rs
@@ -12,7 +12,7 @@
 //
 //  writes pbm image to output path
 
-use std;
+extern mod std;
 use io::WriterUtil;
 use std::map::HashMap;
 
diff --git a/src/test/bench/shootout-nbody.rs b/src/test/bench/shootout-nbody.rs
index ef1e6509ee9..15b103ca99c 100644
--- a/src/test/bench/shootout-nbody.rs
+++ b/src/test/bench/shootout-nbody.rs
@@ -1,7 +1,7 @@
 // based on:
 // http://shootout.alioth.debian.org/u32/benchmark.php?test=nbody&lang=java
 
-use std;
+extern mod std;
 
 // Using sqrt from the standard library is way slower than using libc
 // directly even though std just calls libc, I guess it must be
diff --git a/src/test/bench/shootout-pfib.rs b/src/test/bench/shootout-pfib.rs
index 17ecf3fb332..1b8158aef0a 100644
--- a/src/test/bench/shootout-pfib.rs
+++ b/src/test/bench/shootout-pfib.rs
@@ -10,7 +10,7 @@
 
 */
 
-use std;
+extern mod std;
 
 use std::{time, getopts};
 use io::WriterUtil;
diff --git a/src/test/bench/shootout-spectralnorm.rs b/src/test/bench/shootout-spectralnorm.rs
index 95f2b257400..b7306346469 100644
--- a/src/test/bench/shootout-spectralnorm.rs
+++ b/src/test/bench/shootout-spectralnorm.rs
@@ -1,6 +1,6 @@
 // Based on spectalnorm.gcc by Sebastien Loisel
 
-use std;
+extern mod std;
 
 fn eval_A(i: uint, j: uint) -> float {
     1.0/(((i+j)*(i+j+1u)/2u+i+1u) as float)
diff --git a/src/test/bench/shootout-threadring.rs b/src/test/bench/shootout-threadring.rs
index 6f5fe08d0ef..5b823edbc6f 100644
--- a/src/test/bench/shootout-threadring.rs
+++ b/src/test/bench/shootout-threadring.rs
@@ -1,5 +1,5 @@
 // Based on threadring.erlang by Jira Isa
-use std;
+extern mod std;
 
 const n_threads: int = 503;
 
diff --git a/src/test/bench/std-smallintmap.rs b/src/test/bench/std-smallintmap.rs
index 7ee43f31f82..6a19531f927 100644
--- a/src/test/bench/std-smallintmap.rs
+++ b/src/test/bench/std-smallintmap.rs
@@ -1,6 +1,6 @@
 // Microbenchmark for the smallintmap library
 
-use std;
+extern mod std;
 use std::smallintmap;
 use std::smallintmap::SmallIntMap;
 use io::WriterUtil;
diff --git a/src/test/bench/sudoku.rs b/src/test/bench/sudoku.rs
index eac8279270f..c03db79e3d2 100644
--- a/src/test/bench/sudoku.rs
+++ b/src/test/bench/sudoku.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 use std::bitv;
 use io::{ReaderUtil, WriterUtil};
diff --git a/src/test/bench/task-perf-alloc-unwind.rs b/src/test/bench/task-perf-alloc-unwind.rs
index 243d8539169..f5b2bb1c1c3 100644
--- a/src/test/bench/task-perf-alloc-unwind.rs
+++ b/src/test/bench/task-perf-alloc-unwind.rs
@@ -1,6 +1,6 @@
 // xfail-win32
 
-use std;
+extern mod std;
 
 use std::list::{List, Cons, Nil};
 use std::time::precise_time_s;
diff --git a/src/test/bench/task-perf-word-count-generic.rs b/src/test/bench/task-perf-word-count-generic.rs
index b76a0c4dfc5..37407881674 100644
--- a/src/test/bench/task-perf-word-count-generic.rs
+++ b/src/test/bench/task-perf-word-count-generic.rs
@@ -10,7 +10,7 @@
 
 // xfail-pretty
 
-use std;
+extern mod std;
 
 use option = option;
 use option::Some;
diff --git a/src/test/compile-fail/ambig_impl_2_exe.rs b/src/test/compile-fail/ambig_impl_2_exe.rs
index d53c924bdce..091941680ee 100644
--- a/src/test/compile-fail/ambig_impl_2_exe.rs
+++ b/src/test/compile-fail/ambig_impl_2_exe.rs
@@ -1,6 +1,6 @@
 // xfail-fast aux-build
 // aux-build:ambig_impl_2_lib.rs
-use ambig_impl_2_lib;
+extern mod ambig_impl_2_lib;
 use ambig_impl_2_lib::me;
 trait me {
     fn me() -> uint;
diff --git a/src/test/compile-fail/arc-cant-nest-rw-arc-3177.rs b/src/test/compile-fail/arc-cant-nest-rw-arc-3177.rs
index 028f5ed626c..1854b4b527b 100644
--- a/src/test/compile-fail/arc-cant-nest-rw-arc-3177.rs
+++ b/src/test/compile-fail/arc-cant-nest-rw-arc-3177.rs
@@ -1,6 +1,6 @@
 // xfail-test
 // error-pattern: instantiating a type parameter with an incompatible type
-use std;
+extern mod std;
 use std::arc::rw_arc;
 
 fn main() {
diff --git a/src/test/compile-fail/arc-rw-cond-shouldnt-escape.rs b/src/test/compile-fail/arc-rw-cond-shouldnt-escape.rs
index 371523bc028..162bc32ee7e 100644
--- a/src/test/compile-fail/arc-rw-cond-shouldnt-escape.rs
+++ b/src/test/compile-fail/arc-rw-cond-shouldnt-escape.rs
@@ -1,5 +1,5 @@
 // error-pattern: reference is not valid outside of its lifetime
-use std;
+extern mod std;
 use std::arc;
 fn main() {
     let x = ~arc::RWARC(1);
diff --git a/src/test/compile-fail/arc-rw-read-mode-shouldnt-escape.rs b/src/test/compile-fail/arc-rw-read-mode-shouldnt-escape.rs
index 781060d0bb7..6e30b3ddd89 100644
--- a/src/test/compile-fail/arc-rw-read-mode-shouldnt-escape.rs
+++ b/src/test/compile-fail/arc-rw-read-mode-shouldnt-escape.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 use std::arc;
 fn main() {
     let x = ~arc::RWARC(1);
diff --git a/src/test/compile-fail/arc-rw-state-shouldnt-escape.rs b/src/test/compile-fail/arc-rw-state-shouldnt-escape.rs
index 622e01c2586..76dafb616c8 100644
--- a/src/test/compile-fail/arc-rw-state-shouldnt-escape.rs
+++ b/src/test/compile-fail/arc-rw-state-shouldnt-escape.rs
@@ -1,5 +1,5 @@
 // error-pattern: reference is not valid outside of its lifetime
-use std;
+extern mod std;
 use std::arc;
 fn main() {
     let x = ~arc::RWARC(1);
diff --git a/src/test/compile-fail/arc-rw-write-mode-cond-shouldnt-escape.rs b/src/test/compile-fail/arc-rw-write-mode-cond-shouldnt-escape.rs
index 2bb5f7d59d9..a107f264ec6 100644
--- a/src/test/compile-fail/arc-rw-write-mode-cond-shouldnt-escape.rs
+++ b/src/test/compile-fail/arc-rw-write-mode-cond-shouldnt-escape.rs
@@ -1,5 +1,5 @@
 // error-pattern: reference is not valid outside of its lifetime
-use std;
+extern mod std;
 use std::arc;
 fn main() {
     let x = ~arc::RWARC(1);
diff --git a/src/test/compile-fail/arc-rw-write-mode-shouldnt-escape.rs b/src/test/compile-fail/arc-rw-write-mode-shouldnt-escape.rs
index fe270ea437e..071610dd51a 100644
--- a/src/test/compile-fail/arc-rw-write-mode-shouldnt-escape.rs
+++ b/src/test/compile-fail/arc-rw-write-mode-shouldnt-escape.rs
@@ -1,5 +1,5 @@
 // error-pattern: reference is not valid outside of its lifetime
-use std;
+extern mod std;
 use std::arc;
 fn main() {
     let x = ~arc::RWARC(1);
diff --git a/src/test/compile-fail/borrowck-borrowed-uniq-rvalue.rs b/src/test/compile-fail/borrowck-borrowed-uniq-rvalue.rs
index c983f895338..f0a7c214604 100644
--- a/src/test/compile-fail/borrowck-borrowed-uniq-rvalue.rs
+++ b/src/test/compile-fail/borrowck-borrowed-uniq-rvalue.rs
@@ -1,5 +1,5 @@
 //buggy.rs
-use std;
+extern mod std;
 use std::map::HashMap;
 use std::map;
 
diff --git a/src/test/compile-fail/crateresolve1.rs b/src/test/compile-fail/crateresolve1.rs
index 278d86c8923..8f6318baa39 100644
--- a/src/test/compile-fail/crateresolve1.rs
+++ b/src/test/compile-fail/crateresolve1.rs
@@ -3,7 +3,7 @@
 // aux-build:crateresolve1-3.rs
 // error-pattern:multiple matching crates for `crateresolve1`
 
-use crateresolve1;
+extern mod crateresolve1;
 
 fn main() {
 }
diff --git a/src/test/compile-fail/crateresolve2.rs b/src/test/compile-fail/crateresolve2.rs
index e2d49b5f05a..9f23d30fdde 100644
--- a/src/test/compile-fail/crateresolve2.rs
+++ b/src/test/compile-fail/crateresolve2.rs
@@ -3,10 +3,10 @@
 // aux-build:crateresolve2-3.rs
 // error-pattern:using multiple versions of crate `crateresolve2`
 
-use crateresolve2(vers = "0.1");
+extern mod crateresolve2(vers = "0.1");
 
 mod m {
-    use crateresolve2(vers = "0.2");
+    extern mod crateresolve2(vers = "0.2");
 }
 
 fn main() {
diff --git a/src/test/compile-fail/crateresolve5.rs b/src/test/compile-fail/crateresolve5.rs
index a6b0f64178d..cdfaf146153 100644
--- a/src/test/compile-fail/crateresolve5.rs
+++ b/src/test/compile-fail/crateresolve5.rs
@@ -3,8 +3,8 @@
 // aux-build:crateresolve5-2.rs
 // error-pattern:mismatched types
 
-use cr5_1 (name = "crateresolve5", vers = "0.1");
-use cr5_2 (name = "crateresolve5", vers = "0.2");
+extern mod cr5_1 (name = "crateresolve5", vers = "0.1");
+extern mod cr5_2 (name = "crateresolve5", vers = "0.2");
 
 fn main() {
     // Nominal types from two multiple versions of a crate are different types
diff --git a/src/test/compile-fail/extfmt-not-enough-args.rs b/src/test/compile-fail/extfmt-not-enough-args.rs
index 322b0d00b77..65c30189438 100644
--- a/src/test/compile-fail/extfmt-not-enough-args.rs
+++ b/src/test/compile-fail/extfmt-not-enough-args.rs
@@ -1,5 +1,5 @@
 // error-pattern:not enough arguments
 
-use std;
+extern mod std;
 
 fn main() { let s = fmt!("%s%s%s", "test", "test"); }
diff --git a/src/test/compile-fail/extfmt-too-many-args.rs b/src/test/compile-fail/extfmt-too-many-args.rs
index c9b54c9aa94..c1f00fda1cf 100644
--- a/src/test/compile-fail/extfmt-too-many-args.rs
+++ b/src/test/compile-fail/extfmt-too-many-args.rs
@@ -1,5 +1,5 @@
 // error-pattern:too many arguments
 
-use std;
+extern mod std;
 
 fn main() { let s = fmt!("%s", "test", "test"); }
diff --git a/src/test/compile-fail/for-loop-decl.rs b/src/test/compile-fail/for-loop-decl.rs
index f9696dd2870..c81e4982273 100644
--- a/src/test/compile-fail/for-loop-decl.rs
+++ b/src/test/compile-fail/for-loop-decl.rs
@@ -1,5 +1,5 @@
 // error-pattern: mismatched types
-use std;
+extern mod std;
 use std::map::HashMap;
 use std::bitv;
 
diff --git a/src/test/compile-fail/issue-3021-b.rs b/src/test/compile-fail/issue-3021-b.rs
index 2dacbe314e2..1fca75f23dc 100644
--- a/src/test/compile-fail/issue-3021-b.rs
+++ b/src/test/compile-fail/issue-3021-b.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 fn siphash(k0 : u64) {
 
diff --git a/src/test/compile-fail/issue-3021-c.rs b/src/test/compile-fail/issue-3021-c.rs
index b87434bdd14..11917e0a7b2 100644
--- a/src/test/compile-fail/issue-3021-c.rs
+++ b/src/test/compile-fail/issue-3021-c.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 fn siphash<T>() {
 
diff --git a/src/test/compile-fail/issue-3021-d.rs b/src/test/compile-fail/issue-3021-d.rs
index d0e0a288839..5240871f3bd 100644
--- a/src/test/compile-fail/issue-3021-d.rs
+++ b/src/test/compile-fail/issue-3021-d.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 trait siphash {
     fn result() -> u64;
diff --git a/src/test/compile-fail/issue-3021.rs b/src/test/compile-fail/issue-3021.rs
index 656e2094e62..cad4720dce2 100644
--- a/src/test/compile-fail/issue-3021.rs
+++ b/src/test/compile-fail/issue-3021.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 trait siphash {
     fn reset();
diff --git a/src/test/compile-fail/issue-511.rs b/src/test/compile-fail/issue-511.rs
index b6dc425cf40..9fb642e0d66 100644
--- a/src/test/compile-fail/issue-511.rs
+++ b/src/test/compile-fail/issue-511.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 use cmp::Eq;
 
 fn f<T:Eq>(&o: Option<T>) {
diff --git a/src/test/compile-fail/map-types.rs b/src/test/compile-fail/map-types.rs
index dce7d256033..03241f6d075 100644
--- a/src/test/compile-fail/map-types.rs
+++ b/src/test/compile-fail/map-types.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 use std::map;
 use std::map::HashMap;
 use std::map::Map;
diff --git a/src/test/compile-fail/mutable-huh-ptr-assign.rs b/src/test/compile-fail/mutable-huh-ptr-assign.rs
index 1aa965869be..ecfbb9a1f08 100644
--- a/src/test/compile-fail/mutable-huh-ptr-assign.rs
+++ b/src/test/compile-fail/mutable-huh-ptr-assign.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 fn main() {
     unsafe fn f(&&v: *const int) {
diff --git a/src/test/compile-fail/mutable-huh-variance-ptr.rs b/src/test/compile-fail/mutable-huh-variance-ptr.rs
index f6350571289..c96f3f624f1 100644
--- a/src/test/compile-fail/mutable-huh-variance-ptr.rs
+++ b/src/test/compile-fail/mutable-huh-variance-ptr.rs
@@ -1,6 +1,6 @@
 // error-pattern: mismatched types
 
-use std;
+extern mod std;
 
 fn main() {
     let a = ~[0];
diff --git a/src/test/compile-fail/no-capture-arc.rs b/src/test/compile-fail/no-capture-arc.rs
index cc8340cd2c3..83c10a7ccec 100644
--- a/src/test/compile-fail/no-capture-arc.rs
+++ b/src/test/compile-fail/no-capture-arc.rs
@@ -1,6 +1,6 @@
 // error-pattern: copying a noncopyable value
 
-use std;
+extern mod std;
 use std::arc;
 use comm::*;
 
diff --git a/src/test/compile-fail/no-reuse-move-arc.rs b/src/test/compile-fail/no-reuse-move-arc.rs
index 688bb65c5cf..005196bdb31 100644
--- a/src/test/compile-fail/no-reuse-move-arc.rs
+++ b/src/test/compile-fail/no-reuse-move-arc.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 use std::arc;
 use comm::*;
 
diff --git a/src/test/compile-fail/noexporttypeexe.rs b/src/test/compile-fail/noexporttypeexe.rs
index 33fb087f7f1..aec053f3813 100644
--- a/src/test/compile-fail/noexporttypeexe.rs
+++ b/src/test/compile-fail/noexporttypeexe.rs
@@ -1,6 +1,6 @@
 // aux-build:noexporttypelib.rs
 
-use noexporttypelib;
+extern mod noexporttypelib;
 
 fn main() {
     // Here, the type returned by foo() is not exported.
diff --git a/src/test/compile-fail/pattern-tyvar-2.rs b/src/test/compile-fail/pattern-tyvar-2.rs
index 9de827c7687..36582c83a1e 100644
--- a/src/test/compile-fail/pattern-tyvar-2.rs
+++ b/src/test/compile-fail/pattern-tyvar-2.rs
@@ -1,6 +1,6 @@
 // -*- rust -*-
 
-use std;
+extern mod std;
 use option::Some;
 
 // error-pattern: mismatched types
diff --git a/src/test/compile-fail/pattern-tyvar.rs b/src/test/compile-fail/pattern-tyvar.rs
index 709ed70e11c..2c10d95daef 100644
--- a/src/test/compile-fail/pattern-tyvar.rs
+++ b/src/test/compile-fail/pattern-tyvar.rs
@@ -1,5 +1,5 @@
 // -*- rust -*-
-use std;
+extern mod std;
 use option::Some;
 
 // error-pattern: mismatched types
diff --git a/src/test/compile-fail/private-struct-field-cross-crate.rs b/src/test/compile-fail/private-struct-field-cross-crate.rs
index 077043462b1..f21351699fd 100644
--- a/src/test/compile-fail/private-struct-field-cross-crate.rs
+++ b/src/test/compile-fail/private-struct-field-cross-crate.rs
@@ -1,6 +1,6 @@
 // xfail-fast
 // aux-build:cci_class.rs
-use cci_class;
+extern mod cci_class;
 use cci_class::kitties::*;
 
 fn main() {
diff --git a/src/test/compile-fail/qquote-1.rs b/src/test/compile-fail/qquote-1.rs
index 8f2fc3cf7b1..344c8753881 100644
--- a/src/test/compile-fail/qquote-1.rs
+++ b/src/test/compile-fail/qquote-1.rs
@@ -1,7 +1,7 @@
 // xfail-pretty
 
-use std;
-use syntax;
+extern mod std;
+extern mod syntax;
 
 use io::*;
 
diff --git a/src/test/compile-fail/qquote-2.rs b/src/test/compile-fail/qquote-2.rs
index 8a12b86045c..656d75c5a40 100644
--- a/src/test/compile-fail/qquote-2.rs
+++ b/src/test/compile-fail/qquote-2.rs
@@ -1,6 +1,6 @@
 // xfail-pretty
 
-use std;
+extern mod std;
 use syntax;
 
 use std::io::*;
diff --git a/src/test/compile-fail/regions-glb-free-free.rs b/src/test/compile-fail/regions-glb-free-free.rs
index 9edf19cf514..d7f6d42c74e 100644
--- a/src/test/compile-fail/regions-glb-free-free.rs
+++ b/src/test/compile-fail/regions-glb-free-free.rs
@@ -1,5 +1,5 @@
 mod argparse {
-    use std;
+    extern mod std;
 
     use either::{Either, Left, Right};
 
diff --git a/src/test/compile-fail/seq-args.rs b/src/test/compile-fail/seq-args.rs
index c416e3de206..645cbad7f0b 100644
--- a/src/test/compile-fail/seq-args.rs
+++ b/src/test/compile-fail/seq-args.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 fn main() {
 trait seq { }
 
diff --git a/src/test/compile-fail/spawn-non-nil-fn.rs b/src/test/compile-fail/spawn-non-nil-fn.rs
index 0784c5d7f6e..46715405ca3 100644
--- a/src/test/compile-fail/spawn-non-nil-fn.rs
+++ b/src/test/compile-fail/spawn-non-nil-fn.rs
@@ -1,5 +1,5 @@
 // error-pattern: mismatched types
 
-use std;
+extern mod std;
 
 fn main() { task::spawn(fn~() -> int { 10 }); }
diff --git a/src/test/compile-fail/sync-cond-shouldnt-escape.rs b/src/test/compile-fail/sync-cond-shouldnt-escape.rs
index 7c916000e78..5989af7ca83 100644
--- a/src/test/compile-fail/sync-cond-shouldnt-escape.rs
+++ b/src/test/compile-fail/sync-cond-shouldnt-escape.rs
@@ -1,5 +1,5 @@
 // error-pattern: reference is not valid outside of its lifetime
-use std;
+extern mod std;
 use std::sync;
 
 fn main() {
diff --git a/src/test/compile-fail/sync-rwlock-cond-shouldnt-escape.rs b/src/test/compile-fail/sync-rwlock-cond-shouldnt-escape.rs
index 2bebf03bf2e..346c5da1366 100644
--- a/src/test/compile-fail/sync-rwlock-cond-shouldnt-escape.rs
+++ b/src/test/compile-fail/sync-rwlock-cond-shouldnt-escape.rs
@@ -1,5 +1,5 @@
 // error-pattern: reference is not valid outside of its lifetime
-use std;
+extern mod std;
 use std::sync;
 fn main() {
     let x = ~sync::RWlock();
diff --git a/src/test/compile-fail/sync-rwlock-read-mode-shouldnt-escape.rs b/src/test/compile-fail/sync-rwlock-read-mode-shouldnt-escape.rs
index 3729ab29194..b8fbba14e9c 100644
--- a/src/test/compile-fail/sync-rwlock-read-mode-shouldnt-escape.rs
+++ b/src/test/compile-fail/sync-rwlock-read-mode-shouldnt-escape.rs
@@ -1,5 +1,5 @@
 // error-pattern: cannot infer an appropriate lifetime
-use std;
+extern mod std;
 use std::sync;
 fn main() {
     let x = ~sync::RWlock();
diff --git a/src/test/compile-fail/sync-rwlock-write-mode-cond-shouldnt-escape.rs b/src/test/compile-fail/sync-rwlock-write-mode-cond-shouldnt-escape.rs
index 7adf9862bc2..ff280b4e201 100644
--- a/src/test/compile-fail/sync-rwlock-write-mode-cond-shouldnt-escape.rs
+++ b/src/test/compile-fail/sync-rwlock-write-mode-cond-shouldnt-escape.rs
@@ -1,5 +1,5 @@
 // error-pattern: reference is not valid outside of its lifetime
-use std;
+extern mod std;
 use std::sync;
 fn main() {
     let x = ~sync::RWlock();
diff --git a/src/test/compile-fail/sync-rwlock-write-mode-shouldnt-escape.rs b/src/test/compile-fail/sync-rwlock-write-mode-shouldnt-escape.rs
index 7e218e58c5a..883d3295121 100644
--- a/src/test/compile-fail/sync-rwlock-write-mode-shouldnt-escape.rs
+++ b/src/test/compile-fail/sync-rwlock-write-mode-shouldnt-escape.rs
@@ -1,5 +1,5 @@
 // error-pattern: reference is not valid outside of its lifetime
-use std;
+extern mod std;
 use std::sync;
 fn main() {
     let x = ~sync::RWlock();
diff --git a/src/test/compile-fail/tag-that-dare-not-speak-its-name.rs b/src/test/compile-fail/tag-that-dare-not-speak-its-name.rs
index bd65fa41fd5..80a36945097 100644
--- a/src/test/compile-fail/tag-that-dare-not-speak-its-name.rs
+++ b/src/test/compile-fail/tag-that-dare-not-speak-its-name.rs
@@ -3,7 +3,7 @@
 
 #[no_core];
 
-use core;
+extern mod core;
 
 fn last<T: Copy>(v: ~[const T]) -> core::Option<T> {
     fail;
diff --git a/src/test/compile-fail/use-meta-dup.rs b/src/test/compile-fail/use-meta-dup.rs
index 04d67263c36..43fb743be4c 100644
--- a/src/test/compile-fail/use-meta-dup.rs
+++ b/src/test/compile-fail/use-meta-dup.rs
@@ -1,5 +1,5 @@
 // error-pattern:duplicate meta item `name`
 
-use std(name = "std", name = "nonstd");
+extern mod std(name = "std", name = "nonstd");
 
 fn main() { }
diff --git a/src/test/compile-fail/use-meta-mismatch.rs b/src/test/compile-fail/use-meta-mismatch.rs
index 13b98b8e824..114e90dbf77 100644
--- a/src/test/compile-fail/use-meta-mismatch.rs
+++ b/src/test/compile-fail/use-meta-mismatch.rs
@@ -1,5 +1,5 @@
 // error-pattern:can't find crate for `std`
 
-use std(complex(meta(item)));
+extern mod std(complex(meta(item)));
 
 fn main() { }
diff --git a/src/test/compile-fail/use-meta.rc b/src/test/compile-fail/use-meta.rc
index 367b13663d2..1e9b0ff301b 100644
--- a/src/test/compile-fail/use-meta.rc
+++ b/src/test/compile-fail/use-meta.rc
@@ -1,4 +1,4 @@
 // error-pattern:can't find crate for `std`
 
-use std (name = "std",
+extern mod std (name = "std",
          vers = "bogus");
\ No newline at end of file
diff --git a/src/test/compile-fail/view-items-at-top.rs b/src/test/compile-fail/view-items-at-top.rs
index 2baa3c2e210..5aa650f1050 100644
--- a/src/test/compile-fail/view-items-at-top.rs
+++ b/src/test/compile-fail/view-items-at-top.rs
@@ -1,6 +1,6 @@
 // xfail-test
 
-use std;
+extern mod std;
 
 fn f() {
 }
diff --git a/src/test/run-fail/fail-main.rs b/src/test/run-fail/fail-main.rs
index d7d9f1284a5..5e105031b58 100644
--- a/src/test/run-fail/fail-main.rs
+++ b/src/test/run-fail/fail-main.rs
@@ -1,3 +1,3 @@
 // error-pattern:moop
-use std;
+extern mod std;
 fn main() { fail ~"moop"; }
diff --git a/src/test/run-fail/fmt-fail.rs b/src/test/run-fail/fmt-fail.rs
index 27ece3b45c9..2f5738d0f74 100644
--- a/src/test/run-fail/fmt-fail.rs
+++ b/src/test/run-fail/fmt-fail.rs
@@ -1,4 +1,4 @@
 // error-pattern:meh
-use std;
+extern mod std;
 
 fn main() { let str_var: ~str = ~"meh"; fail fmt!("%s", str_var); }
diff --git a/src/test/run-fail/for-each-loop-fail.rs b/src/test/run-fail/for-each-loop-fail.rs
index 72d7dbc6b3c..5596acc9378 100644
--- a/src/test/run-fail/for-each-loop-fail.rs
+++ b/src/test/run-fail/for-each-loop-fail.rs
@@ -1,3 +1,3 @@
 // error-pattern:moop
-use std;
+extern mod std;
 fn main() { for uint::range(0u, 10u) |_i| { fail ~"moop"; } }
diff --git a/src/test/run-fail/issue-2156.rs b/src/test/run-fail/issue-2156.rs
index b363d3a41b9..6b39e323c6e 100644
--- a/src/test/run-fail/issue-2156.rs
+++ b/src/test/run-fail/issue-2156.rs
@@ -1,6 +1,6 @@
 // error-pattern:explicit failure
 // Don't double free the string
-use std;
+extern mod std;
 use io::Reader;
 
 fn main() {
diff --git a/src/test/run-fail/issue-2444.rs b/src/test/run-fail/issue-2444.rs
index 20620ac62e8..f0bbc9d1ac6 100644
--- a/src/test/run-fail/issue-2444.rs
+++ b/src/test/run-fail/issue-2444.rs
@@ -1,6 +1,6 @@
 // error-pattern:explicit failure
 
-use std;
+extern mod std;
 use std::arc;
 
 enum e<T: Const Send> { e(arc::ARC<T>) }
diff --git a/src/test/run-fail/linked-failure.rs b/src/test/run-fail/linked-failure.rs
index 48870ef6931..1e29f78aec5 100644
--- a/src/test/run-fail/linked-failure.rs
+++ b/src/test/run-fail/linked-failure.rs
@@ -1,7 +1,7 @@
 // -*- rust -*-
 
 // error-pattern:1 == 2
-use std;
+extern mod std;
 use comm::Port;
 use comm::recv;
 
diff --git a/src/test/run-fail/linked-failure2.rs b/src/test/run-fail/linked-failure2.rs
index d3ba7dbacc0..e67f18107dc 100644
--- a/src/test/run-fail/linked-failure2.rs
+++ b/src/test/run-fail/linked-failure2.rs
@@ -1,7 +1,7 @@
 // -*- rust -*-
 
 // error-pattern:fail
-use std;
+extern mod std;
 use comm::Chan;
 use comm::Port;
 use comm::recv;
diff --git a/src/test/run-fail/linked-failure3.rs b/src/test/run-fail/linked-failure3.rs
index 626b9857c90..a3f5b6e4d37 100644
--- a/src/test/run-fail/linked-failure3.rs
+++ b/src/test/run-fail/linked-failure3.rs
@@ -1,7 +1,7 @@
 // -*- rust -*-
 
 // error-pattern:fail
-use std;
+extern mod std;
 use comm::Port;
 use comm::recv;
 
diff --git a/src/test/run-fail/linked-failure4.rs b/src/test/run-fail/linked-failure4.rs
index 5366975adc8..92ab06b7346 100644
--- a/src/test/run-fail/linked-failure4.rs
+++ b/src/test/run-fail/linked-failure4.rs
@@ -1,6 +1,6 @@
 // -*- rust -*-
 // error-pattern:1 == 2
-use std;
+extern mod std;
 use comm::Chan;
 use comm::Port;
 use comm::recv;
diff --git a/src/test/run-fail/morestack2.rs b/src/test/run-fail/morestack2.rs
index 276f6678169..83499baf0d0 100644
--- a/src/test/run-fail/morestack2.rs
+++ b/src/test/run-fail/morestack2.rs
@@ -5,7 +5,7 @@
 // See the hack in upcall_call_shim_on_c_stack where it messes
 // with the stack limit.
 
-use std;
+extern mod std;
 
 extern mod rustrt {
     fn last_os_error() -> ~str;
diff --git a/src/test/run-fail/morestack3.rs b/src/test/run-fail/morestack3.rs
index 76239ffec09..120d70d9f92 100644
--- a/src/test/run-fail/morestack3.rs
+++ b/src/test/run-fail/morestack3.rs
@@ -2,7 +2,7 @@
 
 // Just testing unwinding
 
-use std;
+extern mod std;
 
 fn getbig_and_fail(&&i: int) {
     let _r = and_then_get_big_again(5);
diff --git a/src/test/run-fail/morestack4.rs b/src/test/run-fail/morestack4.rs
index 4e4b13409cd..358e59a1265 100644
--- a/src/test/run-fail/morestack4.rs
+++ b/src/test/run-fail/morestack4.rs
@@ -2,7 +2,7 @@
 
 // Just testing unwinding
 
-use std;
+extern mod std;
 
 fn getbig_and_fail(&&i: int) {
     let r = and_then_get_big_again(5);
diff --git a/src/test/run-fail/port-type.rs b/src/test/run-fail/port-type.rs
index 44ce6e524ca..7ea778bd190 100644
--- a/src/test/run-fail/port-type.rs
+++ b/src/test/run-fail/port-type.rs
@@ -1,5 +1,5 @@
 // error-pattern:meep
-use std;
+extern mod std;
 use comm::Chan;
 use comm::Port;
 use comm::send;
diff --git a/src/test/run-fail/run-unexported-tests.rs b/src/test/run-fail/run-unexported-tests.rs
index 3275e30eb5b..5991f0921ea 100644
--- a/src/test/run-fail/run-unexported-tests.rs
+++ b/src/test/run-fail/run-unexported-tests.rs
@@ -1,7 +1,7 @@
 // error-pattern:runned an unexported test
 // compile-flags:--test
 
-use std;
+extern mod std;
 
 mod m {
     export exported;
diff --git a/src/test/run-fail/spawnfail.rs b/src/test/run-fail/spawnfail.rs
index 4d35e44f326..4aabe92bdb1 100644
--- a/src/test/run-fail/spawnfail.rs
+++ b/src/test/run-fail/spawnfail.rs
@@ -1,6 +1,6 @@
 // xfail-win32
 // error-pattern:explicit
-use std;
+extern mod std;
 
 // We don't want to see any invalid reads
 fn main() {
diff --git a/src/test/run-fail/task-comm-recv-block.rs b/src/test/run-fail/task-comm-recv-block.rs
index 1d292b34ad0..047b7bffd9b 100644
--- a/src/test/run-fail/task-comm-recv-block.rs
+++ b/src/test/run-fail/task-comm-recv-block.rs
@@ -1,6 +1,6 @@
 // error-pattern:goodfail
 
-use std;
+extern mod std;
 
 fn goodfail() {
     task::yield();
diff --git a/src/test/run-fail/unwind-misc-1.rs b/src/test/run-fail/unwind-misc-1.rs
index b0af04cc59f..2a8d98602a0 100644
--- a/src/test/run-fail/unwind-misc-1.rs
+++ b/src/test/run-fail/unwind-misc-1.rs
@@ -1,6 +1,6 @@
 // error-pattern:fail
 
-use std;
+extern mod std;
 use std::map;
 use std::map::HashMap;
 
diff --git a/src/test/run-fail/zip-different-lengths.rs b/src/test/run-fail/zip-different-lengths.rs
index 1e03ea4ab2c..4e97d2f903f 100644
--- a/src/test/run-fail/zip-different-lengths.rs
+++ b/src/test/run-fail/zip-different-lengths.rs
@@ -1,7 +1,7 @@
 // In this case, the code should compile but
 // the assert should fail at runtime
 // error-pattern:Assertion same_length(chars, ints) failed
-use std;
+extern mod std;
 use vec::{same_length, zip};
 
 fn enum_chars(start: u8, end: u8) -> ~[char] {
diff --git a/src/test/run-pass-fulldeps/qquote.rs b/src/test/run-pass-fulldeps/qquote.rs
index e51dfe706a3..afd9054c51f 100644
--- a/src/test/run-pass-fulldeps/qquote.rs
+++ b/src/test/run-pass-fulldeps/qquote.rs
@@ -1,7 +1,7 @@
 // xfail-pretty
 
-use std;
-use syntax;
+extern mod std;
+extern mod syntax;
 
 use io::*;
 
diff --git a/src/test/run-pass/acyclic-unwind.rs b/src/test/run-pass/acyclic-unwind.rs
index ebeab59098b..b9db2a960dd 100644
--- a/src/test/run-pass/acyclic-unwind.rs
+++ b/src/test/run-pass/acyclic-unwind.rs
@@ -1,7 +1,7 @@
 // xfail-test
 // -*- rust -*-
 
-use std;
+extern mod std;
 
 fn f(c: comm::_chan<int>) {
     type t = {_0: int, _1: int, _2: int};
diff --git a/src/test/run-pass/alias-uninit-value.rs b/src/test/run-pass/alias-uninit-value.rs
index 486321e155c..e0a2abb90e1 100644
--- a/src/test/run-pass/alias-uninit-value.rs
+++ b/src/test/run-pass/alias-uninit-value.rs
@@ -1,7 +1,7 @@
 
 
 // Regression test for issue #374
-use std;
+extern mod std;
 use option::None;
 
 enum sty { ty_nil, }
diff --git a/src/test/run-pass/alt-join.rs b/src/test/run-pass/alt-join.rs
index 8185c1f80d1..1625dd083a2 100644
--- a/src/test/run-pass/alt-join.rs
+++ b/src/test/run-pass/alt-join.rs
@@ -1,5 +1,5 @@
 
-use std;
+extern mod std;
 
 fn foo<T>(y: Option<T>) {
     let mut x: int;
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 3df0f117b17..470bd3ed529 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
@@ -1,6 +1,6 @@
 // xfail-fast
 // aux-build:anon-extern-mod-cross-crate-1.rs
-use anonexternmod;
+extern mod anonexternmod;
 
 use anonexternmod::*;
 
diff --git a/src/test/run-pass/attr-before-view-item.rs b/src/test/run-pass/attr-before-view-item.rs
index 60788d65b82..3c0e5f6b4b5 100644
--- a/src/test/run-pass/attr-before-view-item.rs
+++ b/src/test/run-pass/attr-before-view-item.rs
@@ -1,7 +1,7 @@
 // error-pattern:expected item
 
 #[foo = "bar"]
-use std;
+extern mod std;
 
 fn main() {
 }
diff --git a/src/test/run-pass/attr-before-view-item2.rs b/src/test/run-pass/attr-before-view-item2.rs
index 539f028d611..e34bcd1ed44 100644
--- a/src/test/run-pass/attr-before-view-item2.rs
+++ b/src/test/run-pass/attr-before-view-item2.rs
@@ -2,7 +2,7 @@
 
 mod m {
   #[foo = "bar"]
-  use std;
+  extern mod std;
 }
 
 fn main() {
diff --git a/src/test/run-pass/auto_serialize.rs b/src/test/run-pass/auto_serialize.rs
index 0599a6657e6..fcb1adb95cb 100644
--- a/src/test/run-pass/auto_serialize.rs
+++ b/src/test/run-pass/auto_serialize.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 // These tests used to be separate files, but I wanted to refactor all
 // the common code.
diff --git a/src/test/run-pass/basic-1.rs b/src/test/run-pass/basic-1.rs
index 0a9c786634e..8f467e24e1b 100644
--- a/src/test/run-pass/basic-1.rs
+++ b/src/test/run-pass/basic-1.rs
@@ -1,6 +1,6 @@
 // -*- rust -*-
 
-use std;
+extern mod std;
 use comm::Chan;
 use comm::Port;
 use comm::send;
diff --git a/src/test/run-pass/basic-2.rs b/src/test/run-pass/basic-2.rs
index 6d8d542a747..b5130a10027 100644
--- a/src/test/run-pass/basic-2.rs
+++ b/src/test/run-pass/basic-2.rs
@@ -1,6 +1,6 @@
 // -*- rust -*-
 
-use std;
+extern mod std;
 use comm::Port;
 use comm::send;
 use comm::Chan;
diff --git a/src/test/run-pass/basic.rs b/src/test/run-pass/basic.rs
index f593e23c706..a72c9058d10 100644
--- a/src/test/run-pass/basic.rs
+++ b/src/test/run-pass/basic.rs
@@ -1,6 +1,6 @@
 // -*- rust -*-
 
-use std;
+extern mod std;
 use comm::send;
 use comm::Chan;
 use comm::recv;
diff --git a/src/test/run-pass/bind-by-move.rs b/src/test/run-pass/bind-by-move.rs
index f946539bad5..c3eab8e1900 100644
--- a/src/test/run-pass/bind-by-move.rs
+++ b/src/test/run-pass/bind-by-move.rs
@@ -1,5 +1,5 @@
 // xfail-test
-use std;
+extern mod std;
 use std::arc;
 fn dispose(+_x: arc::ARC<bool>) unsafe { }
 
diff --git a/src/test/run-pass/binops.rs b/src/test/run-pass/binops.rs
index a32514e213d..3b97d2e5598 100644
--- a/src/test/run-pass/binops.rs
+++ b/src/test/run-pass/binops.rs
@@ -1,6 +1,6 @@
 // Binop corner cases
 
-use std;
+extern mod std;
 use unsafe::reinterpret_cast;
 
 fn test_nil() {
diff --git a/src/test/run-pass/bitv-perf-test.rs b/src/test/run-pass/bitv-perf-test.rs
index 6dc4cdf5d7a..07efc67c7cf 100644
--- a/src/test/run-pass/bitv-perf-test.rs
+++ b/src/test/run-pass/bitv-perf-test.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 use std::bitv::*;
 
 fn bitv_test() -> bool {
diff --git a/src/test/run-pass/block-arg-call-as.rs b/src/test/run-pass/block-arg-call-as.rs
index 348e2ef9cae..6776129cc7d 100644
--- a/src/test/run-pass/block-arg-call-as.rs
+++ b/src/test/run-pass/block-arg-call-as.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 fn asSendfn( f : fn~()->uint ) -> uint {
    return f();
diff --git a/src/test/run-pass/block-vec-map2.rs b/src/test/run-pass/block-vec-map2.rs
index 2cfaca91731..332afc65f72 100644
--- a/src/test/run-pass/block-vec-map2.rs
+++ b/src/test/run-pass/block-vec-map2.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 fn main() {
     let v =
diff --git a/src/test/run-pass/c-stack-returning-int64.rs b/src/test/run-pass/c-stack-returning-int64.rs
index 559ab78ace9..81c26f90486 100644
--- a/src/test/run-pass/c-stack-returning-int64.rs
+++ b/src/test/run-pass/c-stack-returning-int64.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 #[abi = "cdecl"]
 #[nolink]
diff --git a/src/test/run-pass/cci_borrow.rs b/src/test/run-pass/cci_borrow.rs
index 434ce13d5d4..0a9d91efb23 100644
--- a/src/test/run-pass/cci_borrow.rs
+++ b/src/test/run-pass/cci_borrow.rs
@@ -1,7 +1,7 @@
 // xfail-fast - check-fast doesn't understand aux-build
 // aux-build:cci_borrow_lib.rs
 
-use cci_borrow_lib;
+extern mod cci_borrow_lib;
 use cci_borrow_lib::foo;
 
 fn main() {
diff --git a/src/test/run-pass/cci_capture_clause.rs b/src/test/run-pass/cci_capture_clause.rs
index f9caca92abb..daef6e1b2b6 100644
--- a/src/test/run-pass/cci_capture_clause.rs
+++ b/src/test/run-pass/cci_capture_clause.rs
@@ -4,7 +4,7 @@
 // This test makes sure we can do cross-crate inlining on functions
 // that use capture clauses.
 
-use cci_capture_clause;
+extern mod cci_capture_clause;
 
 use comm::recv;
 
diff --git a/src/test/run-pass/cci_impl_exe.rs b/src/test/run-pass/cci_impl_exe.rs
index aa2428d715f..5faaa50eb11 100644
--- a/src/test/run-pass/cci_impl_exe.rs
+++ b/src/test/run-pass/cci_impl_exe.rs
@@ -1,7 +1,7 @@
 // xfail-fast - check-fast doesn't understand aux-build
 // aux-build:cci_impl_lib.rs
 
-use cci_impl_lib;
+extern mod cci_impl_lib;
 use cci_impl_lib::uint_helpers;
 
 fn main() {
diff --git a/src/test/run-pass/cci_iter_exe.rs b/src/test/run-pass/cci_iter_exe.rs
index 48cdf213269..973732b18c2 100644
--- a/src/test/run-pass/cci_iter_exe.rs
+++ b/src/test/run-pass/cci_iter_exe.rs
@@ -1,7 +1,7 @@
 // xfail-fast - check-fast doesn't understand aux-build
 // aux-build:cci_iter_lib.rs
 
-use cci_iter_lib;
+extern mod cci_iter_lib;
 
 fn main() {
     //let bt0 = sys::rusti::frame_address(1u32);
diff --git a/src/test/run-pass/cci_nested_exe.rs b/src/test/run-pass/cci_nested_exe.rs
index 4e0c7e04770..a5d62b95712 100644
--- a/src/test/run-pass/cci_nested_exe.rs
+++ b/src/test/run-pass/cci_nested_exe.rs
@@ -1,7 +1,7 @@
 // xfail-fast - check-fast doesn't understand aux-build
 // aux-build:cci_nested_lib.rs
 
-use cci_nested_lib;
+extern mod cci_nested_lib;
 use cci_nested_lib::*;
 
 fn main() {
diff --git a/src/test/run-pass/cci_no_inline_exe.rs b/src/test/run-pass/cci_no_inline_exe.rs
index 4edc89d1f6c..a4822f41ad4 100644
--- a/src/test/run-pass/cci_no_inline_exe.rs
+++ b/src/test/run-pass/cci_no_inline_exe.rs
@@ -1,7 +1,7 @@
 // xfail-fast - check-fast doesn't understand aux-build
 // aux-build:cci_no_inline_lib.rs
 
-use cci_no_inline_lib;
+extern mod cci_no_inline_lib;
 use cci_no_inline_lib::iter;
 
 fn main() {
diff --git a/src/test/run-pass/chan-leak.rs b/src/test/run-pass/chan-leak.rs
index e4ed8c93b93..b0a27a9a97e 100644
--- a/src/test/run-pass/chan-leak.rs
+++ b/src/test/run-pass/chan-leak.rs
@@ -1,6 +1,6 @@
 // Issue #763
 
-use std;
+extern mod std;
 use comm::Chan;
 use comm::send;
 use comm::Port;
diff --git a/src/test/run-pass/child-outlives-parent.rs b/src/test/run-pass/child-outlives-parent.rs
index d6c65f8338f..e25b91a5287 100644
--- a/src/test/run-pass/child-outlives-parent.rs
+++ b/src/test/run-pass/child-outlives-parent.rs
@@ -1,6 +1,6 @@
 // Reported as issue #126, child leaks the string.
 
-use std;
+extern mod std;
 
 fn child2(&&s: ~str) { }
 
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 cb15f859a01..2532e519118 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
@@ -1,6 +1,6 @@
 // xfail-fast
 // aux-build:cci_class_cast.rs
-use cci_class_cast;
+extern mod cci_class_cast;
 use to_str::ToStr;
 use cci_class_cast::kitty::*;
 
diff --git a/src/test/run-pass/class-impl-parameterized-trait.rs b/src/test/run-pass/class-impl-parameterized-trait.rs
index 9540391ec6e..8599f6f36f1 100644
--- a/src/test/run-pass/class-impl-parameterized-trait.rs
+++ b/src/test/run-pass/class-impl-parameterized-trait.rs
@@ -1,7 +1,7 @@
 // xfail-test
 // xfail-fast
 
-use std;
+extern mod std;
 use std::map::*;
 
 class cat : map<int, bool> {
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 70d0d8f3b3f..b304eb677a3 100644
--- a/src/test/run-pass/class-impl-very-parameterized-trait.rs
+++ b/src/test/run-pass/class-impl-very-parameterized-trait.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 use std::map::*;
 
 enum cat_type { tuxedo, tabby, tortoiseshell }
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 7be0a197d46..21ae24b7037 100644
--- a/src/test/run-pass/class-implement-trait-cross-crate.rs
+++ b/src/test/run-pass/class-implement-trait-cross-crate.rs
@@ -1,6 +1,6 @@
 // xfail-fast
 // aux-build:cci_class_trait.rs
-use cci_class_trait;
+extern mod cci_class_trait;
 use cci_class_trait::animals::*;
 
 struct cat {
diff --git a/src/test/run-pass/class-implements-multiple-traits.rs b/src/test/run-pass/class-implements-multiple-traits.rs
index 00209431bbf..5d27c1e721c 100644
--- a/src/test/run-pass/class-implements-multiple-traits.rs
+++ b/src/test/run-pass/class-implements-multiple-traits.rs
@@ -1,6 +1,6 @@
 // xfail-test
 
-use std;
+extern mod std;
 use std::map::*;
 use vec::*;
 use dvec::{dvec, extensions};
diff --git a/src/test/run-pass/class-method-cross-crate.rs b/src/test/run-pass/class-method-cross-crate.rs
index bd4ff6e1d1d..60a9af4c44c 100644
--- a/src/test/run-pass/class-method-cross-crate.rs
+++ b/src/test/run-pass/class-method-cross-crate.rs
@@ -1,6 +1,6 @@
 // xfail-fast
 // aux-build:cci_class_2.rs
-use cci_class_2;
+extern mod cci_class_2;
 use cci_class_2::kitties::*;
 
 fn main() {
diff --git a/src/test/run-pass/class-methods-cross-crate.rs b/src/test/run-pass/class-methods-cross-crate.rs
index 144d728713a..ed46963221a 100644
--- a/src/test/run-pass/class-methods-cross-crate.rs
+++ b/src/test/run-pass/class-methods-cross-crate.rs
@@ -1,6 +1,6 @@
 // xfail-fast
 // aux-build:cci_class_3.rs
-use cci_class_3;
+extern mod cci_class_3;
 use cci_class_3::kitties::*;
 
 fn main() {
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 ef128566c5e..2b5b3475589 100644
--- a/src/test/run-pass/class-poly-methods-cross-crate.rs
+++ b/src/test/run-pass/class-poly-methods-cross-crate.rs
@@ -1,6 +1,6 @@
 // xfail-fast
 // aux-build:cci_class_6.rs
-use cci_class_6;
+extern mod cci_class_6;
 use cci_class_6::kitties::*;
 
 fn main() {
diff --git a/src/test/run-pass/class-trait-bounded-param.rs b/src/test/run-pass/class-trait-bounded-param.rs
index 2ffd41229a5..34c40550e07 100644
--- a/src/test/run-pass/class-trait-bounded-param.rs
+++ b/src/test/run-pass/class-trait-bounded-param.rs
@@ -1,6 +1,6 @@
 // xfail-test
 
-use std;
+extern mod std;
 use std::map::{map, hashmap, int_hash};
 
 class keys<K: Copy, V: Copy, M: Copy map<K,V>>
diff --git a/src/test/run-pass/classes-cross-crate.rs b/src/test/run-pass/classes-cross-crate.rs
index 1835eed3ef1..242176fff94 100644
--- a/src/test/run-pass/classes-cross-crate.rs
+++ b/src/test/run-pass/classes-cross-crate.rs
@@ -1,6 +1,6 @@
 // xfail-fast
 // aux-build:cci_class_4.rs
-use cci_class_4;
+extern mod cci_class_4;
 use cci_class_4::kitties::*;
 
 fn main() {
diff --git a/src/test/run-pass/classes-simple-cross-crate.rs b/src/test/run-pass/classes-simple-cross-crate.rs
index 15b56c74bc7..dc4830f63d2 100644
--- a/src/test/run-pass/classes-simple-cross-crate.rs
+++ b/src/test/run-pass/classes-simple-cross-crate.rs
@@ -1,6 +1,6 @@
 // xfail-fast
 // aux-build:cci_class.rs
-use cci_class;
+extern mod cci_class;
 use cci_class::kitties::*;
 
 fn main() {
diff --git a/src/test/run-pass/clone-with-exterior.rs b/src/test/run-pass/clone-with-exterior.rs
index 3ca0b9cf6b8..b4954577587 100644
--- a/src/test/run-pass/clone-with-exterior.rs
+++ b/src/test/run-pass/clone-with-exterior.rs
@@ -1,6 +1,6 @@
 //xfail-test
 
-use std;
+extern mod std;
 
 fn f(x : @{a:int, b:int}) {
     assert (x.a == 10);
diff --git a/src/test/run-pass/comm.rs b/src/test/run-pass/comm.rs
index 4c77973b556..b41152f3158 100644
--- a/src/test/run-pass/comm.rs
+++ b/src/test/run-pass/comm.rs
@@ -1,6 +1,6 @@
 // -*- rust -*-
 
-use std;
+extern mod std;
 use comm::Chan;
 use comm::send;
 use comm::recv;
diff --git a/src/test/run-pass/crateresolve1.rs b/src/test/run-pass/crateresolve1.rs
index 3dd020647e7..89316d8ea77 100644
--- a/src/test/run-pass/crateresolve1.rs
+++ b/src/test/run-pass/crateresolve1.rs
@@ -3,7 +3,7 @@
 // aux-build:crateresolve1-2.rs
 // aux-build:crateresolve1-3.rs
 
-use crateresolve1(vers = "0.2");
+extern mod crateresolve1(vers = "0.2");
 
 fn main() {
     assert crateresolve1::f() == 20;
diff --git a/src/test/run-pass/crateresolve2.rs b/src/test/run-pass/crateresolve2.rs
index 5198ca91b3b..c05254a80ab 100644
--- a/src/test/run-pass/crateresolve2.rs
+++ b/src/test/run-pass/crateresolve2.rs
@@ -4,17 +4,17 @@
 // aux-build:crateresolve2-3.rs
 
 mod a {
-    use crateresolve2(vers = "0.1");
+    extern mod crateresolve2(vers = "0.1");
     fn f() { assert crateresolve2::f() == 10; }
 }
 
 mod b {
-    use crateresolve2(vers = "0.2");
+    extern mod crateresolve2(vers = "0.2");
     fn f() { assert crateresolve2::f() == 20; }
 }
 
 mod c {
-    use crateresolve2(vers = "0.3");
+    extern mod crateresolve2(vers = "0.3");
     fn f() { assert crateresolve2::f() == 30; }
 }
 
diff --git a/src/test/run-pass/crateresolve3.rs b/src/test/run-pass/crateresolve3.rs
index 29d4c0c368f..57b8c1bfed8 100644
--- a/src/test/run-pass/crateresolve3.rs
+++ b/src/test/run-pass/crateresolve3.rs
@@ -6,12 +6,12 @@
 // as long as no name collision on invoked functions.
 
 mod a {
-    use crateresolve3(vers = "0.1");
+    extern mod crateresolve3(vers = "0.1");
     fn f() { assert crateresolve3::f() == 10; }
 }
 
 mod b {
-    use crateresolve3(vers = "0.2");
+    extern mod crateresolve3(vers = "0.2");
     fn f() { assert crateresolve3::g() == 20; }
 }
 
diff --git a/src/test/run-pass/crateresolve4.rs b/src/test/run-pass/crateresolve4.rs
index 1fe8393ab7a..28512dc0bdb 100644
--- a/src/test/run-pass/crateresolve4.rs
+++ b/src/test/run-pass/crateresolve4.rs
@@ -5,12 +5,12 @@
 // aux-build:crateresolve4b-2.rs
 
 mod a {
-    use crateresolve4b(vers = "0.1");
+    extern mod crateresolve4b(vers = "0.1");
     fn f() { assert crateresolve4b::f() == 20; }
 }
 
 mod b {
-    use crateresolve4b(vers = "0.2");
+    extern mod crateresolve4b(vers = "0.2");
     fn f() { assert crateresolve4b::g() == 10; }
 }
 
diff --git a/src/test/run-pass/crateresolve5.rs b/src/test/run-pass/crateresolve5.rs
index faddbb74291..fa00dc63f9b 100644
--- a/src/test/run-pass/crateresolve5.rs
+++ b/src/test/run-pass/crateresolve5.rs
@@ -2,8 +2,8 @@
 // aux-build:crateresolve5-1.rs
 // aux-build:crateresolve5-2.rs
 
-use cr5_1 (name = "crateresolve5", vers = "0.1");
-use cr5_2 (name = "crateresolve5", vers = "0.2");
+extern mod cr5_1 (name = "crateresolve5", vers = "0.1");
+extern mod cr5_2 (name = "crateresolve5", vers = "0.2");
 
 fn main() {
     // Structural types can be used between two versions of the same crate
diff --git a/src/test/run-pass/crateresolve6.rs b/src/test/run-pass/crateresolve6.rs
index c5a7edeb69a..3bd6884ec12 100644
--- a/src/test/run-pass/crateresolve6.rs
+++ b/src/test/run-pass/crateresolve6.rs
@@ -4,8 +4,8 @@
 // error-pattern:mismatched types
 
 // These both have the same version but differ in other metadata
-use cr6_1 (name = "crateresolve_calories", vers = "0.1", calories="100");
-use cr6_2 (name = "crateresolve_calories", vers = "0.1", calories="200");
+extern mod cr6_1 (name = "crateresolve_calories", vers = "0.1", calories="100");
+extern mod cr6_2 (name = "crateresolve_calories", vers = "0.1", calories="200");
 
 fn main() {
     assert cr6_1::f() == 100;
diff --git a/src/test/run-pass/crateresolve7.rs b/src/test/run-pass/crateresolve7.rs
index 7f21eaaa445..a45a455beb0 100644
--- a/src/test/run-pass/crateresolve7.rs
+++ b/src/test/run-pass/crateresolve7.rs
@@ -3,7 +3,7 @@
 // aux-build:crateresolve_calories-2.rs
 // aux-build:crateresolve7x.rs
 
-use crateresolve7x;
+extern mod crateresolve7x;
 
 fn main() {
     assert crateresolve7x::a::f() == 100;
diff --git a/src/test/run-pass/decl-with-recv.rs b/src/test/run-pass/decl-with-recv.rs
index 8835b770c22..07ce5cb63ac 100644
--- a/src/test/run-pass/decl-with-recv.rs
+++ b/src/test/run-pass/decl-with-recv.rs
@@ -1,6 +1,6 @@
 // -*- rust -*-
 
-use std;
+extern mod std;
 use comm::Port;
 use comm::Chan;
 use comm::send;
diff --git a/src/test/run-pass/explicit-self-generic.rs b/src/test/run-pass/explicit-self-generic.rs
index 5b6ed42e228..ec032506403 100644
--- a/src/test/run-pass/explicit-self-generic.rs
+++ b/src/test/run-pass/explicit-self-generic.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 /**
  * A function that returns a hash of a value
diff --git a/src/test/run-pass/extern-crosscrate.rs b/src/test/run-pass/extern-crosscrate.rs
index 34da3e33e6f..e508cd4007c 100644
--- a/src/test/run-pass/extern-crosscrate.rs
+++ b/src/test/run-pass/extern-crosscrate.rs
@@ -1,7 +1,7 @@
 // xfail-fast
 //aux-build:extern-crosscrate-source.rs
 
-use externcallback(vers = "0.1");
+extern mod externcallback(vers = "0.1");
 
 fn fact(n: uint) -> uint {
     debug!("n = %?", n);
diff --git a/src/test/run-pass/float-nan.rs b/src/test/run-pass/float-nan.rs
index ae2b1f0ad4d..92313c650d4 100644
--- a/src/test/run-pass/float-nan.rs
+++ b/src/test/run-pass/float-nan.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 fn main() {
   let nan = float::NaN;
diff --git a/src/test/run-pass/fn-bare-size.rs b/src/test/run-pass/fn-bare-size.rs
index 00ee9f89140..95a3afe316a 100644
--- a/src/test/run-pass/fn-bare-size.rs
+++ b/src/test/run-pass/fn-bare-size.rs
@@ -1,6 +1,6 @@
 // xfail-test
 
-use std;
+extern mod std;
 
 fn main() {
     // Bare functions should just be a pointer
diff --git a/src/test/run-pass/foreign-fn-linkname.rs b/src/test/run-pass/foreign-fn-linkname.rs
index cb8d05ee828..77cb6eaa74e 100644
--- a/src/test/run-pass/foreign-fn-linkname.rs
+++ b/src/test/run-pass/foreign-fn-linkname.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 
 #[nolink]
diff --git a/src/test/run-pass/hashmap-memory.rs b/src/test/run-pass/hashmap-memory.rs
index 5498be31b1d..285c46f2d56 100644
--- a/src/test/run-pass/hashmap-memory.rs
+++ b/src/test/run-pass/hashmap-memory.rs
@@ -4,7 +4,7 @@
    This originally came from the word-count benchmark.
 */
 
-use std;
+extern mod std;
 
 use option::Some;
 use option::None;
diff --git a/src/test/run-pass/import-glob-crate.rs b/src/test/run-pass/import-glob-crate.rs
index 7c92c73819b..c1746a3d444 100644
--- a/src/test/run-pass/import-glob-crate.rs
+++ b/src/test/run-pass/import-glob-crate.rs
@@ -1,5 +1,5 @@
 
-use std;
+extern mod std;
 use vec::*;
 
 fn main() {
diff --git a/src/test/run-pass/import-in-block.rs b/src/test/run-pass/import-in-block.rs
index e2c893c725b..07b7e2111ef 100644
--- a/src/test/run-pass/import-in-block.rs
+++ b/src/test/run-pass/import-in-block.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 fn main() {
     use vec::to_mut;
diff --git a/src/test/run-pass/infinite-loops.rs b/src/test/run-pass/infinite-loops.rs
index 0427905de3d..fcc20fea9ba 100644
--- a/src/test/run-pass/infinite-loops.rs
+++ b/src/test/run-pass/infinite-loops.rs
@@ -4,7 +4,7 @@
 */
 // xfail-test
 
-use std;
+extern mod std;
 use task::join;
 
 fn loop(n: int) {
diff --git a/src/test/run-pass/intrinsic-atomics-cc.rs b/src/test/run-pass/intrinsic-atomics-cc.rs
index cfddde6acb4..207c196c380 100644
--- a/src/test/run-pass/intrinsic-atomics-cc.rs
+++ b/src/test/run-pass/intrinsic-atomics-cc.rs
@@ -1,7 +1,7 @@
 // xfail-fast - check-fast doesn't understand aux-build
 // aux-build:cci_intrinsic.rs
 
-use cci_intrinsic;
+extern mod cci_intrinsic;
 use cci_intrinsic::atomic_xchg;
 
 fn main() {
diff --git a/src/test/run-pass/invoke-external-foreign.rs b/src/test/run-pass/invoke-external-foreign.rs
index 72be0d0a353..a054077ad26 100644
--- a/src/test/run-pass/invoke-external-foreign.rs
+++ b/src/test/run-pass/invoke-external-foreign.rs
@@ -5,7 +5,7 @@
 // successfully (and safely) invoke external, cdecl
 // functions from outside the crate.
 
-use foreign_lib;
+extern mod foreign_lib;
 
 fn main() {
     let foo = foreign_lib::rustrt::last_os_error();
diff --git a/src/test/run-pass/issue-1112.rs b/src/test/run-pass/issue-1112.rs
index 97e2ece9072..d4655280cdd 100644
--- a/src/test/run-pass/issue-1112.rs
+++ b/src/test/run-pass/issue-1112.rs
@@ -1,7 +1,7 @@
 // Issue #1112
 // Alignment of interior pointers to dynamic-size types
 
-use std;
+extern mod std;
 use ptr::addr_of;
 
 type x<T> = {
diff --git a/src/test/run-pass/issue-1696.rs b/src/test/run-pass/issue-1696.rs
index 0c24f791568..d9d4cd27cf1 100644
--- a/src/test/run-pass/issue-1696.rs
+++ b/src/test/run-pass/issue-1696.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 use std::map;
 use std::map::HashMap;
 
diff --git a/src/test/run-pass/issue-2101.rs b/src/test/run-pass/issue-2101.rs
index ed3c0f38353..0f98c6e97b3 100644
--- a/src/test/run-pass/issue-2101.rs
+++ b/src/test/run-pass/issue-2101.rs
@@ -1,5 +1,5 @@
 // xfail-test
-use std;
+extern mod std;
 use std::arena;
 use std::arena::Arena;
 
diff --git a/src/test/run-pass/issue-2242-d.rs b/src/test/run-pass/issue-2242-d.rs
index 11b86e5e6dd..b663853d5bf 100644
--- a/src/test/run-pass/issue-2242-d.rs
+++ b/src/test/run-pass/issue-2242-d.rs
@@ -3,9 +3,9 @@
 // aux-build:issue_2242_b.rs
 // aux-build:issue_2242_c.rs
 
-use a;
-use b;
-use c;
+extern mod a;
+extern mod b;
+extern mod c;
 
 use a::to_strz;
 
diff --git a/src/test/run-pass/issue-2316-c.rs b/src/test/run-pass/issue-2316-c.rs
index 113732cacbe..22b9fb7ed2f 100644
--- a/src/test/run-pass/issue-2316-c.rs
+++ b/src/test/run-pass/issue-2316-c.rs
@@ -2,7 +2,7 @@
 // aux-build:issue_2316_a.rs
 // aux-build:issue_2316_b.rs
 
-use issue_2316_b;
+extern mod issue_2316_b;
 use issue_2316_b::cloth;
 
 fn main() {
diff --git a/src/test/run-pass/issue-2380-b.rs b/src/test/run-pass/issue-2380-b.rs
index 012d391edb8..8f46756756c 100644
--- a/src/test/run-pass/issue-2380-b.rs
+++ b/src/test/run-pass/issue-2380-b.rs
@@ -1,7 +1,7 @@
 // xfail-fast
 // aux-build:issue-2380.rs
 
-use a;
+extern mod a;
 
 fn main() {
     a::f::<()>();
diff --git a/src/test/run-pass/issue-2383.rs b/src/test/run-pass/issue-2383.rs
index 5c991ebac49..5c56762dfa1 100644
--- a/src/test/run-pass/issue-2383.rs
+++ b/src/test/run-pass/issue-2383.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 use std::deque;
 use std::deque::Deque;
 
diff --git a/src/test/run-pass/issue-2414-c.rs b/src/test/run-pass/issue-2414-c.rs
index 17defc82e22..d36108fed52 100644
--- a/src/test/run-pass/issue-2414-c.rs
+++ b/src/test/run-pass/issue-2414-c.rs
@@ -2,6 +2,6 @@
 // aux-build:issue-2414-a.rs
 // aux-build:issue-2414-b.rs
 
-use b;
+extern mod b;
 
 fn main() {}
diff --git a/src/test/run-pass/issue-2472.rs b/src/test/run-pass/issue-2472.rs
index 9a9246baa82..5ff9004f4e9 100644
--- a/src/test/run-pass/issue-2472.rs
+++ b/src/test/run-pass/issue-2472.rs
@@ -1,7 +1,7 @@
 // aux-build:issue_2472_b.rs
 // xfail-fast
 
-use issue_2472_b;
+extern mod issue_2472_b;
 
 use issue_2472_b::{S, T};
 
diff --git a/src/test/run-pass/issue-2526-a.rs b/src/test/run-pass/issue-2526-a.rs
index a86808832b5..0f6a307d9cc 100644
--- a/src/test/run-pass/issue-2526-a.rs
+++ b/src/test/run-pass/issue-2526-a.rs
@@ -1,7 +1,7 @@
 // xfail-fast
 // aux-build:issue-2526.rs
 
-use issue_2526;
+extern mod issue_2526;
 use issue_2526::*;
 
 fn main() {}
diff --git a/src/test/run-pass/issue-2631-b.rs b/src/test/run-pass/issue-2631-b.rs
index eb500e340d8..a9bbca45070 100644
--- a/src/test/run-pass/issue-2631-b.rs
+++ b/src/test/run-pass/issue-2631-b.rs
@@ -1,8 +1,8 @@
 // xfail-fast
 // aux-build:issue-2631-a.rs
 
-use req;
-use std;
+extern mod req;
+extern mod std;
 
 use req::*;
 use std::map::*;
diff --git a/src/test/run-pass/issue-2723-b.rs b/src/test/run-pass/issue-2723-b.rs
index 193d4db724b..e1c038a4822 100644
--- a/src/test/run-pass/issue-2723-b.rs
+++ b/src/test/run-pass/issue-2723-b.rs
@@ -1,7 +1,7 @@
 // xfail-fast: aux-build not compatible with fast
 // aux-build:issue_2723_a.rs
 
-use issue_2723_a;
+extern mod issue_2723_a;
 use issue_2723_a::*;
 
 fn main() unsafe {
diff --git a/src/test/run-pass/issue-2804-2.rs b/src/test/run-pass/issue-2804-2.rs
index 062e086d00c..a4e407f9990 100644
--- a/src/test/run-pass/issue-2804-2.rs
+++ b/src/test/run-pass/issue-2804-2.rs
@@ -1,6 +1,6 @@
 // Minimized version of issue-2804.rs. Both check that callee IDs don't
 // clobber the previous node ID in a macro expr
-use std;
+extern mod std;
 use std::map::HashMap;
 
 fn add_interfaces(managed_ip: ~str, device: std::map::HashMap<~str, int>)  {
diff --git a/src/test/run-pass/issue-2804.rs b/src/test/run-pass/issue-2804.rs
index 36620108db9..ff853dc6873 100644
--- a/src/test/run-pass/issue-2804.rs
+++ b/src/test/run-pass/issue-2804.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 use io::WriterUtil;
 use std::map::HashMap;
 
diff --git a/src/test/run-pass/issue-2904.rs b/src/test/run-pass/issue-2904.rs
index 741235554ac..71ba9b65cef 100644
--- a/src/test/run-pass/issue-2904.rs
+++ b/src/test/run-pass/issue-2904.rs
@@ -1,6 +1,6 @@
 /// Map representation
 
-use std;
+extern mod std;
 
 enum square {
     bot,
diff --git a/src/test/run-pass/issue-2989.rs b/src/test/run-pass/issue-2989.rs
index b902aa9ecf9..0dd383e4039 100644
--- a/src/test/run-pass/issue-2989.rs
+++ b/src/test/run-pass/issue-2989.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 trait methods {
     fn to_bytes() -> ~[u8];
diff --git a/src/test/run-pass/issue-3012-2.rs b/src/test/run-pass/issue-3012-2.rs
index b3786561b14..417e02dd5b5 100644
--- a/src/test/run-pass/issue-3012-2.rs
+++ b/src/test/run-pass/issue-3012-2.rs
@@ -1,6 +1,6 @@
 // xfail-fast
 // aux-build:issue-3012-1.rs
-use socketlib;
+extern mod socketlib;
 use socketlib::socket;
 
 fn main() {
diff --git a/src/test/run-pass/issue-506.rs b/src/test/run-pass/issue-506.rs
index 7ace5cb4d02..730efcc9f34 100644
--- a/src/test/run-pass/issue-506.rs
+++ b/src/test/run-pass/issue-506.rs
@@ -4,7 +4,7 @@
   Testing spawning foreign functions
 */
 
-use std;
+extern mod std;
 
 #[abi = "cdecl"]
 extern mod rustrt {
diff --git a/src/test/run-pass/issue-507.rs b/src/test/run-pass/issue-507.rs
index 67cebc4c34c..447a892f339 100644
--- a/src/test/run-pass/issue-507.rs
+++ b/src/test/run-pass/issue-507.rs
@@ -5,7 +5,7 @@
    https://github.com/graydon/rust/issues/507
 */
 
-use std;
+extern mod std;
 
 use comm::Chan;
 use comm::send;
diff --git a/src/test/run-pass/issue-687.rs b/src/test/run-pass/issue-687.rs
index 715918ffcce..6d9dc8216e1 100644
--- a/src/test/run-pass/issue-687.rs
+++ b/src/test/run-pass/issue-687.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 use comm::Chan;
 use comm::Port;
 use comm::recv;
diff --git a/src/test/run-pass/issue-783.rs b/src/test/run-pass/issue-783.rs
index 36863488ade..752101e651b 100644
--- a/src/test/run-pass/issue-783.rs
+++ b/src/test/run-pass/issue-783.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 use comm::*;
 use task::*;
 
diff --git a/src/test/run-pass/issue2170exe.rs b/src/test/run-pass/issue2170exe.rs
index dafa6b8556a..f7d808dacbe 100644
--- a/src/test/run-pass/issue2170exe.rs
+++ b/src/test/run-pass/issue2170exe.rs
@@ -1,6 +1,6 @@
 // xfail-fast - check-fail fast doesn't under aux-build
 // aux-build:issue2170lib.rs
-use issue2170lib;
+extern mod issue2170lib;
 
 fn main() {
    // let _ = issue2170lib::rsrc(2i32);
diff --git a/src/test/run-pass/item-attributes.rs b/src/test/run-pass/item-attributes.rs
index a2346a2eaf9..07f824f7ae6 100644
--- a/src/test/run-pass/item-attributes.rs
+++ b/src/test/run-pass/item-attributes.rs
@@ -140,7 +140,7 @@ mod test_attr_inner_then_outer_multi {
 
 mod test_distinguish_syntax_ext {
 
-    use std;
+    extern mod std;
 
     fn f() {
         fmt!("test%s", ~"s");
diff --git a/src/test/run-pass/ivec-tag.rs b/src/test/run-pass/ivec-tag.rs
index 94925be7205..bfcba52790b 100644
--- a/src/test/run-pass/ivec-tag.rs
+++ b/src/test/run-pass/ivec-tag.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 use comm::Chan;
 use comm::Port;
diff --git a/src/test/run-pass/lazychan.rs b/src/test/run-pass/lazychan.rs
index fc9239dd22a..1446ebc9493 100644
--- a/src/test/run-pass/lazychan.rs
+++ b/src/test/run-pass/lazychan.rs
@@ -1,6 +1,6 @@
 // -*- rust -*-
 
-use std;
+extern mod std;
 use comm::*;
 
 fn main() {
diff --git a/src/test/run-pass/leaky_comm.rs b/src/test/run-pass/leaky_comm.rs
index 9ffe94fe078..58efce90ff1 100644
--- a/src/test/run-pass/leaky_comm.rs
+++ b/src/test/run-pass/leaky_comm.rs
@@ -1,7 +1,7 @@
 // xfail-fast
 // aux-build:test_comm.rs
 
-use test_comm;
+extern mod test_comm;
 
 fn main() {
   let p = test_comm::port();
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 126dfcd2d5b..db71980ca43 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,4 @@
-use std;
+extern mod std;
 use std::list;
 
 enum foo {
diff --git a/src/test/run-pass/lots-a-fail.rs b/src/test/run-pass/lots-a-fail.rs
index 2de7a39ceab..85524e0591e 100644
--- a/src/test/run-pass/lots-a-fail.rs
+++ b/src/test/run-pass/lots-a-fail.rs
@@ -1,5 +1,5 @@
 // xfail-win32 leaks
-use std;
+extern mod std;
 
 fn die() {
     fail;
diff --git a/src/test/run-pass/many.rs b/src/test/run-pass/many.rs
index e63b3541294..2362f683e5e 100644
--- a/src/test/run-pass/many.rs
+++ b/src/test/run-pass/many.rs
@@ -1,6 +1,6 @@
 // -*- rust -*-
 
-use std;
+extern mod std;
 
 fn sub(parent: comm::Chan<int>, id: int) {
     if id == 0 {
diff --git a/src/test/run-pass/mlist-cycle.rs b/src/test/run-pass/mlist-cycle.rs
index 3c7a5007f37..0fcb95fb73b 100644
--- a/src/test/run-pass/mlist-cycle.rs
+++ b/src/test/run-pass/mlist-cycle.rs
@@ -1,6 +1,6 @@
 // xfail-test
 // -*- rust -*-
-use std;
+extern mod std;
 
 type cell = {mut c: @list};
 
diff --git a/src/test/run-pass/monomorphized-callees-with-ty-params-3314.rs b/src/test/run-pass/monomorphized-callees-with-ty-params-3314.rs
index 7cc1e1061d1..c771249c9ed 100644
--- a/src/test/run-pass/monomorphized-callees-with-ty-params-3314.rs
+++ b/src/test/run-pass/monomorphized-callees-with-ty-params-3314.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 trait Serializer {
 }
diff --git a/src/test/run-pass/morestack5.rs b/src/test/run-pass/morestack5.rs
index c56549548b0..3431d6b3963 100644
--- a/src/test/run-pass/morestack5.rs
+++ b/src/test/run-pass/morestack5.rs
@@ -1,6 +1,6 @@
 // This test will call __morestack with various minimum stack sizes
 
-use std;
+extern mod std;
 
 fn getbig(&&i: int) {
     if i != 0 {
diff --git a/src/test/run-pass/move-3-unique.rs b/src/test/run-pass/move-3-unique.rs
index fab6f5386ee..5353ba191cd 100644
--- a/src/test/run-pass/move-3-unique.rs
+++ b/src/test/run-pass/move-3-unique.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 fn test(x: bool, foo: ~{x: int, y: int, z: int}) -> int {
     let bar = foo;
diff --git a/src/test/run-pass/move-3.rs b/src/test/run-pass/move-3.rs
index 572d6132854..784fa068d4d 100644
--- a/src/test/run-pass/move-3.rs
+++ b/src/test/run-pass/move-3.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 fn test(x: bool, foo: @{x: int, y: int, z: int}) -> int {
     let bar = foo;
diff --git a/src/test/run-pass/move-4-unique.rs b/src/test/run-pass/move-4-unique.rs
index f56fdb5d08b..5bea6f8134d 100644
--- a/src/test/run-pass/move-4-unique.rs
+++ b/src/test/run-pass/move-4-unique.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 fn test(foo: ~{a: int, b: int, c: int}) -> ~{a: int, b: int, c: int} {
     let foo = foo;
diff --git a/src/test/run-pass/move-4.rs b/src/test/run-pass/move-4.rs
index 454e0ac0687..987d5e299d2 100644
--- a/src/test/run-pass/move-4.rs
+++ b/src/test/run-pass/move-4.rs
@@ -1,5 +1,5 @@
 
-use std;
+extern mod std;
 
 fn test(foo: @{a: int, b: int, c: int}) -> @{a: int, b: int, c: int} {
     let foo = foo;
diff --git a/src/test/run-pass/mutable-alias-vec.rs b/src/test/run-pass/mutable-alias-vec.rs
index bb18a535739..e54197ccc6b 100644
--- a/src/test/run-pass/mutable-alias-vec.rs
+++ b/src/test/run-pass/mutable-alias-vec.rs
@@ -1,7 +1,7 @@
 
 
 // -*- rust -*-
-use std;
+extern mod std;
 
 fn grow(&v: ~[int]) { v += ~[1]; }
 
diff --git a/src/test/run-pass/nested-pattern.rs b/src/test/run-pass/nested-pattern.rs
index 98d70b5b5d2..a712f1c45e6 100644
--- a/src/test/run-pass/nested-pattern.rs
+++ b/src/test/run-pass/nested-pattern.rs
@@ -1,7 +1,7 @@
 
 
 // a bug was causing this to complain about leaked memory on exit
-use std;
+extern mod std;
 use option::Some;
 use option::None;
 
diff --git a/src/test/run-pass/non-boolean-pure-fns.rs b/src/test/run-pass/non-boolean-pure-fns.rs
index 9b8bbfd9438..e029a6b50e1 100644
--- a/src/test/run-pass/non-boolean-pure-fns.rs
+++ b/src/test/run-pass/non-boolean-pure-fns.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 use std::list::*;
 
diff --git a/src/test/run-pass/pipe-detect-term.rs b/src/test/run-pass/pipe-detect-term.rs
index e574a66aa98..93c12449f2e 100644
--- a/src/test/run-pass/pipe-detect-term.rs
+++ b/src/test/run-pass/pipe-detect-term.rs
@@ -3,7 +3,7 @@
 // xfail-pretty
 // xfail-win32
 
-use std;
+extern mod std;
 use std::timer::sleep;
 use std::uv;
 
diff --git a/src/test/run-pass/pipe-peek.rs b/src/test/run-pass/pipe-peek.rs
index eec54ea2da8..e8b2aa1a791 100644
--- a/src/test/run-pass/pipe-peek.rs
+++ b/src/test/run-pass/pipe-peek.rs
@@ -1,6 +1,6 @@
 // xfail-pretty
 
-use std;
+extern mod std;
 use std::timer::sleep;
 use std::uv;
 
diff --git a/src/test/run-pass/pipe-select.rs b/src/test/run-pass/pipe-select.rs
index a963736f28b..4d70eb62e94 100644
--- a/src/test/run-pass/pipe-select.rs
+++ b/src/test/run-pass/pipe-select.rs
@@ -1,7 +1,7 @@
 // xfail-pretty
 // xfail-win32
 
-use std;
+extern mod std;
 use std::timer::sleep;
 use std::uv;
 
diff --git a/src/test/run-pass/pipe-sleep.rs b/src/test/run-pass/pipe-sleep.rs
index 5bdb38c7d3d..4e901c69d29 100644
--- a/src/test/run-pass/pipe-sleep.rs
+++ b/src/test/run-pass/pipe-sleep.rs
@@ -1,6 +1,6 @@
 // xfail-pretty
 
-use std;
+extern mod std;
 use std::timer::sleep;
 use std::uv;
 use pipes::recv;
diff --git a/src/test/run-pass/placement-new-arena.rs b/src/test/run-pass/placement-new-arena.rs
index 3284c720655..7735ef86ac1 100644
--- a/src/test/run-pass/placement-new-arena.rs
+++ b/src/test/run-pass/placement-new-arena.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 use std::arena;
 
 fn main() {
diff --git a/src/test/run-pass/regions-mock-trans-impls.rs b/src/test/run-pass/regions-mock-trans-impls.rs
index 7884c31f4a9..f84a65f7e01 100644
--- a/src/test/run-pass/regions-mock-trans-impls.rs
+++ b/src/test/run-pass/regions-mock-trans-impls.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 use libc, sys, unsafe;
 use std::arena::Arena;
 
diff --git a/src/test/run-pass/rt-circular-buffer.rs b/src/test/run-pass/rt-circular-buffer.rs
index ac9b99b955f..2f5245f7bc4 100644
--- a/src/test/run-pass/rt-circular-buffer.rs
+++ b/src/test/run-pass/rt-circular-buffer.rs
@@ -2,7 +2,7 @@
 
 // Regression tests for circular_buffer when using a unit
 // that has a size that is not a power of two
-use std;
+extern mod std;
 use comm::Port;
 use comm::Chan;
 use comm::send;
diff --git a/src/test/run-pass/send-iloop.rs b/src/test/run-pass/send-iloop.rs
index 2765e3b4264..9e369d819d4 100644
--- a/src/test/run-pass/send-iloop.rs
+++ b/src/test/run-pass/send-iloop.rs
@@ -1,5 +1,5 @@
 // xfail-win32
-use std;
+extern mod std;
 
 fn die() {
     fail;
diff --git a/src/test/run-pass/send-type-inference.rs b/src/test/run-pass/send-type-inference.rs
index c642670afbc..4f0b9667524 100644
--- a/src/test/run-pass/send-type-inference.rs
+++ b/src/test/run-pass/send-type-inference.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 use comm::Chan;
 use comm::send;
 use comm::Port;
diff --git a/src/test/run-pass/sendfn-deep-copy.rs b/src/test/run-pass/sendfn-deep-copy.rs
index d089eb873bd..6003c2768ac 100644
--- a/src/test/run-pass/sendfn-deep-copy.rs
+++ b/src/test/run-pass/sendfn-deep-copy.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 use comm::Chan;
 use comm::send;
diff --git a/src/test/run-pass/sendfn-generic-fn.rs b/src/test/run-pass/sendfn-generic-fn.rs
index 2fcc6adfce3..194c3ada9ac 100644
--- a/src/test/run-pass/sendfn-generic-fn.rs
+++ b/src/test/run-pass/sendfn-generic-fn.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 use comm::Chan;
 use comm::send;
diff --git a/src/test/run-pass/sendfn-spawn-with-fn-arg.rs b/src/test/run-pass/sendfn-spawn-with-fn-arg.rs
index c53dc3d7ed6..67d7607f0b9 100644
--- a/src/test/run-pass/sendfn-spawn-with-fn-arg.rs
+++ b/src/test/run-pass/sendfn-spawn-with-fn-arg.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 use comm::Chan;
 use comm::send;
diff --git a/src/test/run-pass/shape_intrinsic_tag_then_rec.rs b/src/test/run-pass/shape_intrinsic_tag_then_rec.rs
index 67d5e4571a0..1eb80950f9f 100644
--- a/src/test/run-pass/shape_intrinsic_tag_then_rec.rs
+++ b/src/test/run-pass/shape_intrinsic_tag_then_rec.rs
@@ -2,7 +2,7 @@
 // on x86_64: when there is a enum embedded in an
 // interior record which is then itself interior to
 // something else, shape calculations were off.
-use std;
+extern mod std;
 use std::list;
 use std::list::list;
 
diff --git a/src/test/run-pass/spawn-fn.rs b/src/test/run-pass/spawn-fn.rs
index 7534245e62e..aa065a9875c 100644
--- a/src/test/run-pass/spawn-fn.rs
+++ b/src/test/run-pass/spawn-fn.rs
@@ -1,6 +1,6 @@
 // -*- rust -*-
 
-use std;
+extern mod std;
 use task::yield;
 
 fn x(s: ~str, n: int) {
diff --git a/src/test/run-pass/spawn-types.rs b/src/test/run-pass/spawn-types.rs
index 93123cd7433..22c20ed7e5e 100644
--- a/src/test/run-pass/spawn-types.rs
+++ b/src/test/run-pass/spawn-types.rs
@@ -4,7 +4,7 @@
   Arnold.
  */
 
-use std;
+extern mod std;
 
 
 type ctx = comm::Chan<int>;
diff --git a/src/test/run-pass/spawn.rs b/src/test/run-pass/spawn.rs
index 70fbad0f1ae..ab8aea17895 100644
--- a/src/test/run-pass/spawn.rs
+++ b/src/test/run-pass/spawn.rs
@@ -1,6 +1,6 @@
 // -*- rust -*-
 
-use std;
+extern mod std;
 
 
 fn main() {
diff --git a/src/test/run-pass/spawn2.rs b/src/test/run-pass/spawn2.rs
index 63dab45a701..242e77a3e46 100644
--- a/src/test/run-pass/spawn2.rs
+++ b/src/test/run-pass/spawn2.rs
@@ -1,6 +1,6 @@
 // -*- rust -*-
 
-use std;
+extern mod std;
 use task::spawn;
 
 fn main() { spawn(|| child((10, 20, 30, 40, 50, 60, 70, 80, 90)) ); }
diff --git a/src/test/run-pass/static-method-xcrate.rs b/src/test/run-pass/static-method-xcrate.rs
index ff7fb8a0d23..e178a3a1304 100644
--- a/src/test/run-pass/static-method-xcrate.rs
+++ b/src/test/run-pass/static-method-xcrate.rs
@@ -1,7 +1,7 @@
 // xfail-fast
 // aux-build:static-methods-crate.rs
 
-use static_methods_crate;
+extern mod static_methods_crate;
 use static_methods_crate::read;
 use readMaybeRenamed = static_methods_crate::readMaybe;
 
diff --git a/src/test/run-pass/str-append.rs b/src/test/run-pass/str-append.rs
index 106ea6f3afd..16e670b08b7 100644
--- a/src/test/run-pass/str-append.rs
+++ b/src/test/run-pass/str-append.rs
@@ -1,7 +1,7 @@
 
 
 // -*- rust -*-
-use std;
+extern mod std;
 
 fn test1() {
     let mut s: ~str = ~"hello";
diff --git a/src/test/run-pass/str-multiline.rs b/src/test/run-pass/str-multiline.rs
index 6e72ce20184..a11d7ef4874 100644
--- a/src/test/run-pass/str-multiline.rs
+++ b/src/test/run-pass/str-multiline.rs
@@ -1,7 +1,7 @@
 
 
 // -*- rust -*-
-use std;
+extern mod std;
 
 fn main() {
     let a: ~str = ~"this \
diff --git a/src/test/run-pass/string-self-append.rs b/src/test/run-pass/string-self-append.rs
index 1312e9a3c06..a8be417c955 100644
--- a/src/test/run-pass/string-self-append.rs
+++ b/src/test/run-pass/string-self-append.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 fn main() {
     // Make sure we properly handle repeated self-appends.
diff --git a/src/test/run-pass/syntax-extension-fmt.rs b/src/test/run-pass/syntax-extension-fmt.rs
index 20336cd561c..fe197cb6df0 100644
--- a/src/test/run-pass/syntax-extension-fmt.rs
+++ b/src/test/run-pass/syntax-extension-fmt.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 fn test(actual: ~str, expected: ~str) {
     log(debug, actual);
diff --git a/src/test/run-pass/task-comm-0.rs b/src/test/run-pass/task-comm-0.rs
index 341e24f2e63..406c08cd3fb 100644
--- a/src/test/run-pass/task-comm-0.rs
+++ b/src/test/run-pass/task-comm-0.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 use pipes::Chan;
 use pipes::Port;
diff --git a/src/test/run-pass/task-comm-10.rs b/src/test/run-pass/task-comm-10.rs
index cae75f97fd7..9b52172cfc5 100644
--- a/src/test/run-pass/task-comm-10.rs
+++ b/src/test/run-pass/task-comm-10.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 fn start(c: pipes::Chan<pipes::Chan<~str>>) {
     let (ch, p) = pipes::stream();
diff --git a/src/test/run-pass/task-comm-11.rs b/src/test/run-pass/task-comm-11.rs
index f0e026f4efe..b90f8fed400 100644
--- a/src/test/run-pass/task-comm-11.rs
+++ b/src/test/run-pass/task-comm-11.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 fn start(c: pipes::Chan<pipes::Chan<int>>) {
     let (ch, p) = pipes::stream();
diff --git a/src/test/run-pass/task-comm-12.rs b/src/test/run-pass/task-comm-12.rs
index d4dc389c00a..c0f97c85bce 100644
--- a/src/test/run-pass/task-comm-12.rs
+++ b/src/test/run-pass/task-comm-12.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 fn main() { test00(); }
 
diff --git a/src/test/run-pass/task-comm-13.rs b/src/test/run-pass/task-comm-13.rs
index c0613b84a98..267d16852b9 100644
--- a/src/test/run-pass/task-comm-13.rs
+++ b/src/test/run-pass/task-comm-13.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 use pipes::send;
 
 fn start(c: pipes::Chan<int>, start: int, number_of_messages: int) {
diff --git a/src/test/run-pass/task-comm-15.rs b/src/test/run-pass/task-comm-15.rs
index 415a7c21536..15ed2d26aa2 100644
--- a/src/test/run-pass/task-comm-15.rs
+++ b/src/test/run-pass/task-comm-15.rs
@@ -1,5 +1,5 @@
 // xfail-win32
-use std;
+extern mod std;
 
 fn start(c: pipes::Chan<int>, i0: int) {
     let mut i = i0;
diff --git a/src/test/run-pass/task-comm-16.rs b/src/test/run-pass/task-comm-16.rs
index defa0de79a1..9b7d05488de 100644
--- a/src/test/run-pass/task-comm-16.rs
+++ b/src/test/run-pass/task-comm-16.rs
@@ -1,6 +1,6 @@
 // -*- rust -*-
 
-use std;
+extern mod std;
 use pipes::send;
 use pipes::Port;
 use pipes::recv;
diff --git a/src/test/run-pass/task-comm-17.rs b/src/test/run-pass/task-comm-17.rs
index ca3e7036230..d1c4e064b4d 100644
--- a/src/test/run-pass/task-comm-17.rs
+++ b/src/test/run-pass/task-comm-17.rs
@@ -2,7 +2,7 @@
 
 // This test is specifically about spawning temporary closures.
 
-use std;
+extern mod std;
 
 fn f() {
 }
diff --git a/src/test/run-pass/task-comm-3.rs b/src/test/run-pass/task-comm-3.rs
index e47daceb6e6..f232e9bf8c8 100644
--- a/src/test/run-pass/task-comm-3.rs
+++ b/src/test/run-pass/task-comm-3.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 use pipes::Chan;
 use pipes::send;
 use pipes::recv;
diff --git a/src/test/run-pass/task-comm-4.rs b/src/test/run-pass/task-comm-4.rs
index 4ac914742a6..0abc74a09d5 100644
--- a/src/test/run-pass/task-comm-4.rs
+++ b/src/test/run-pass/task-comm-4.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 use pipes::send;
 
 fn main() { test00(); }
diff --git a/src/test/run-pass/task-comm-5.rs b/src/test/run-pass/task-comm-5.rs
index 3b5d30cad84..cfed858b328 100644
--- a/src/test/run-pass/task-comm-5.rs
+++ b/src/test/run-pass/task-comm-5.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 fn main() { test00(); }
 
diff --git a/src/test/run-pass/task-comm-6.rs b/src/test/run-pass/task-comm-6.rs
index 82529221943..815cb520b54 100644
--- a/src/test/run-pass/task-comm-6.rs
+++ b/src/test/run-pass/task-comm-6.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 use pipes::send;
 use pipes::Chan;
 use pipes::recv;
diff --git a/src/test/run-pass/task-comm-7.rs b/src/test/run-pass/task-comm-7.rs
index 8a0b9cbcef8..f5778fcb6e3 100644
--- a/src/test/run-pass/task-comm-7.rs
+++ b/src/test/run-pass/task-comm-7.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 fn main() { test00(); }
 
diff --git a/src/test/run-pass/task-comm-9.rs b/src/test/run-pass/task-comm-9.rs
index afb3e9245e8..eefc7452969 100644
--- a/src/test/run-pass/task-comm-9.rs
+++ b/src/test/run-pass/task-comm-9.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 fn main() { test00(); }
 
diff --git a/src/test/run-pass/task-comm-chan-cleanup.rs b/src/test/run-pass/task-comm-chan-cleanup.rs
index 770fcc43c20..7149f307963 100644
--- a/src/test/run-pass/task-comm-chan-cleanup.rs
+++ b/src/test/run-pass/task-comm-chan-cleanup.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 fn main() {
     let p = comm::Port();
diff --git a/src/test/run-pass/task-comm-chan-cleanup2.rs b/src/test/run-pass/task-comm-chan-cleanup2.rs
index 770fcc43c20..7149f307963 100644
--- a/src/test/run-pass/task-comm-chan-cleanup2.rs
+++ b/src/test/run-pass/task-comm-chan-cleanup2.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 fn main() {
     let p = comm::Port();
diff --git a/src/test/run-pass/task-comm-chan-cleanup3.rs b/src/test/run-pass/task-comm-chan-cleanup3.rs
index 486b4ad9fdc..4dc10f86716 100644
--- a/src/test/run-pass/task-comm-chan-cleanup3.rs
+++ b/src/test/run-pass/task-comm-chan-cleanup3.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 fn main() {
     let c = {
diff --git a/src/test/run-pass/task-comm-chan-cleanup4.rs b/src/test/run-pass/task-comm-chan-cleanup4.rs
index 6b11a99bc2f..215843fbac7 100644
--- a/src/test/run-pass/task-comm-chan-cleanup4.rs
+++ b/src/test/run-pass/task-comm-chan-cleanup4.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 // We're trying to trigger a race between send and port destruction that
 // results in the string not being freed
diff --git a/src/test/run-pass/task-comm-chan-nil.rs b/src/test/run-pass/task-comm-chan-nil.rs
index b4bb73b9d3c..87b91889356 100644
--- a/src/test/run-pass/task-comm-chan-nil.rs
+++ b/src/test/run-pass/task-comm-chan-nil.rs
@@ -1,6 +1,6 @@
 // -*- rust -*-
 
-use std;
+extern mod std;
 
 // rustboot can't transmit nils across channels because they don't have
 // any size, but rustc currently can because they do have size. Whether
diff --git a/src/test/run-pass/task-comm.rs b/src/test/run-pass/task-comm.rs
index ca34d42423f..4b6ea2c1603 100644
--- a/src/test/run-pass/task-comm.rs
+++ b/src/test/run-pass/task-comm.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 use task::task;
 use comm::Chan;
diff --git a/src/test/run-pass/task-compare.rs b/src/test/run-pass/task-compare.rs
index f4a9d8c2d84..652d131584f 100644
--- a/src/test/run-pass/task-compare.rs
+++ b/src/test/run-pass/task-compare.rs
@@ -5,7 +5,7 @@
 // FIXME: This won't work until we can compare resources (#2601)
 // xfail-test
 
-use std;
+extern mod std;
 use task::join;
 
 fn child() { }
diff --git a/src/test/run-pass/task-killjoin-rsrc.rs b/src/test/run-pass/task-killjoin-rsrc.rs
index 551a3ede728..98d5193c86d 100644
--- a/src/test/run-pass/task-killjoin-rsrc.rs
+++ b/src/test/run-pass/task-killjoin-rsrc.rs
@@ -3,7 +3,7 @@
 // A port of task-killjoin to use a class with a dtor to manage
 // the join.
 
-use std;
+extern mod std;
 
 struct notify {
     ch: comm::Chan<bool>, v: @mut bool,
diff --git a/src/test/run-pass/task-killjoin.rs b/src/test/run-pass/task-killjoin.rs
index d5f5e0593b3..3521287141d 100644
--- a/src/test/run-pass/task-killjoin.rs
+++ b/src/test/run-pass/task-killjoin.rs
@@ -5,7 +5,7 @@
 // task will kill the supervising task, waking it up. The supervising task no
 // longer needs to be wakened when the supervised task exits.
 
-use std;
+extern mod std;
 
 fn supervised() {
     // Yield to make sure the supervisor joins before we fail. This is
diff --git a/src/test/run-pass/task-life-0.rs b/src/test/run-pass/task-life-0.rs
index 310e6fa6016..d3190334bf0 100644
--- a/src/test/run-pass/task-life-0.rs
+++ b/src/test/run-pass/task-life-0.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 fn main() {
     task::spawn(|| child(~"Hello") );
 }
diff --git a/src/test/run-pass/terminate-in-initializer.rs b/src/test/run-pass/terminate-in-initializer.rs
index eb044e2a398..6e0dedf07f8 100644
--- a/src/test/run-pass/terminate-in-initializer.rs
+++ b/src/test/run-pass/terminate-in-initializer.rs
@@ -2,7 +2,7 @@
 // Issue #787
 // Don't try to clean up uninitialized locals
 
-use std;
+extern mod std;
 
 fn test_break() { loop { let x: @int = break; } }
 
diff --git a/src/test/run-pass/test-ignore-cfg.rs b/src/test/run-pass/test-ignore-cfg.rs
index 5345c9ab8bc..0baabecb0ab 100644
--- a/src/test/run-pass/test-ignore-cfg.rs
+++ b/src/test/run-pass/test-ignore-cfg.rs
@@ -2,7 +2,7 @@
 // xfail-fast
 // xfail-pretty
 
-use std;
+extern mod std;
 
 #[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 997664aa9c0..2b5370e010c 100644
--- a/src/test/run-pass/test-runner-hides-main.rs
+++ b/src/test/run-pass/test-runner-hides-main.rs
@@ -1,7 +1,7 @@
 // compile-flags:--test
 // xfail-fast
 
-use std;
+extern mod std;
 
 // Building as a test runner means that a synthetic main will be run,
 // not ours
diff --git a/src/test/run-pass/threads.rs b/src/test/run-pass/threads.rs
index 1e06000827b..d0cf650d308 100644
--- a/src/test/run-pass/threads.rs
+++ b/src/test/run-pass/threads.rs
@@ -1,6 +1,6 @@
 // -*- rust -*-
 
-use std;
+extern mod std;
 
 fn main() {
     let mut i = 10;
diff --git a/src/test/run-pass/trait-to-str.rs b/src/test/run-pass/trait-to-str.rs
index 2e08857f1b0..14ca4df66a0 100644
--- a/src/test/run-pass/trait-to-str.rs
+++ b/src/test/run-pass/trait-to-str.rs
@@ -2,7 +2,7 @@
 
 #[no_core];
 
-use core;
+extern mod core;
 
 use core::{str, int, vec};
 
diff --git a/src/test/run-pass/type-sizes.rs b/src/test/run-pass/type-sizes.rs
index dbf7d718912..edec7ea6d90 100644
--- a/src/test/run-pass/type-sizes.rs
+++ b/src/test/run-pass/type-sizes.rs
@@ -1,6 +1,6 @@
 // xfail-test
 use sys::rustrt::size_of;
-use std;
+extern mod std;
 
 fn main() {
     assert (size_of::<u8>() == 1 as uint);
diff --git a/src/test/run-pass/unify-return-ty.rs b/src/test/run-pass/unify-return-ty.rs
index 07c546ad09e..687c5747be7 100644
--- a/src/test/run-pass/unify-return-ty.rs
+++ b/src/test/run-pass/unify-return-ty.rs
@@ -1,7 +1,7 @@
 // Tests that the tail expr in null() has its type
 // unified with the type *T, and so the type variable
 // in that type gets resolved.
-use std;
+extern mod std;
 
 fn null<T>() -> *T unsafe { unsafe::reinterpret_cast(&0) }
 
diff --git a/src/test/run-pass/unique-copy-box.rs b/src/test/run-pass/unique-copy-box.rs
index 6e33c3e19a2..e0ea3e6c0a3 100644
--- a/src/test/run-pass/unique-copy-box.rs
+++ b/src/test/run-pass/unique-copy-box.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 use sys::refcount;
 
 fn main() unsafe {
diff --git a/src/test/run-pass/unique-send-2.rs b/src/test/run-pass/unique-send-2.rs
index 47616e5b731..73cd7adc034 100644
--- a/src/test/run-pass/unique-send-2.rs
+++ b/src/test/run-pass/unique-send-2.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 fn child(c: comm::Chan<~uint>, i: uint) {
     comm::send(c, ~i);
diff --git a/src/test/run-pass/unique-send.rs b/src/test/run-pass/unique-send.rs
index 2f505c2f07f..3acaa1b59f6 100644
--- a/src/test/run-pass/unique-send.rs
+++ b/src/test/run-pass/unique-send.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 fn main() {
     let p = comm::Port();
diff --git a/src/test/run-pass/unwind-box.rs b/src/test/run-pass/unwind-box.rs
index f71acbf8ca3..528270c9f9f 100644
--- a/src/test/run-pass/unwind-box.rs
+++ b/src/test/run-pass/unwind-box.rs
@@ -1,5 +1,5 @@
 // xfail-win32
-use std;
+extern mod std;
 
 fn f() {
     let a = @0;
diff --git a/src/test/run-pass/unwind-resource.rs b/src/test/run-pass/unwind-resource.rs
index 3b24480fcb6..08d6af273d2 100644
--- a/src/test/run-pass/unwind-resource.rs
+++ b/src/test/run-pass/unwind-resource.rs
@@ -1,5 +1,5 @@
 // xfail-win32
-use std;
+extern mod std;
 
 struct complainer {
   c: comm::Chan<bool>,
diff --git a/src/test/run-pass/unwind-resource2.rs b/src/test/run-pass/unwind-resource2.rs
index c92cb756f5f..bd73825a4eb 100644
--- a/src/test/run-pass/unwind-resource2.rs
+++ b/src/test/run-pass/unwind-resource2.rs
@@ -1,5 +1,5 @@
 // xfail-win32
-use std;
+extern mod std;
 
 struct complainer {
   c: @int,
diff --git a/src/test/run-pass/unwind-unique.rs b/src/test/run-pass/unwind-unique.rs
index 81c0878704a..3fa5492939e 100644
--- a/src/test/run-pass/unwind-unique.rs
+++ b/src/test/run-pass/unwind-unique.rs
@@ -1,5 +1,5 @@
 // xfail-win32
-use std;
+extern mod std;
 
 fn f() {
     let a = ~0;
diff --git a/src/test/run-pass/use-crate-name-alias.rs b/src/test/run-pass/use-crate-name-alias.rs
index fe75111fc49..c6e9dbd4938 100644
--- a/src/test/run-pass/use-crate-name-alias.rs
+++ b/src/test/run-pass/use-crate-name-alias.rs
@@ -1,4 +1,4 @@
 // Issue #1706
-use stdlib(name="std");
+extern mod stdlib(name="std");
 
 fn main() {}
diff --git a/src/test/run-pass/use.rs b/src/test/run-pass/use.rs
index 6ecf7422757..8d2357cca73 100644
--- a/src/test/run-pass/use.rs
+++ b/src/test/run-pass/use.rs
@@ -1,7 +1,7 @@
 #[no_core];
-use core;
-use zed(name = "core");
-use bar(name = "core", vers = "0.4");
+extern mod core;
+extern mod zed(name = "core");
+extern mod bar(name = "core", vers = "0.4");
 
 
 use core::str;
diff --git a/src/test/run-pass/utf8_chars.rs b/src/test/run-pass/utf8_chars.rs
index 589afdba636..aacf5a99cbe 100644
--- a/src/test/run-pass/utf8_chars.rs
+++ b/src/test/run-pass/utf8_chars.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 fn main() {
     // Chars of 1, 2, 3, and 4 bytes
diff --git a/src/test/run-pass/vec-self-append.rs b/src/test/run-pass/vec-self-append.rs
index c4d0c5b4662..1b0475a72cf 100644
--- a/src/test/run-pass/vec-self-append.rs
+++ b/src/test/run-pass/vec-self-append.rs
@@ -1,4 +1,4 @@
-use std;
+extern mod std;
 
 fn test_heap_to_heap() {
     // a spills onto the heap
diff --git a/src/test/run-pass/yield.rs b/src/test/run-pass/yield.rs
index e3db1aa35b0..f9c2ad2547d 100644
--- a/src/test/run-pass/yield.rs
+++ b/src/test/run-pass/yield.rs
@@ -1,5 +1,5 @@
 // -*- rust -*-
-use std;
+extern mod std;
 use task::*;
 
 fn main() {
diff --git a/src/test/run-pass/yield1.rs b/src/test/run-pass/yield1.rs
index c60645494c2..05c5e833bab 100644
--- a/src/test/run-pass/yield1.rs
+++ b/src/test/run-pass/yield1.rs
@@ -1,5 +1,5 @@
 // -*- rust -*-
-use std;
+extern mod std;
 use task::*;
 
 fn main() {
diff --git a/src/test/run-pass/yield2.rs b/src/test/run-pass/yield2.rs
index a01e311daa8..9b7763514e5 100644
--- a/src/test/run-pass/yield2.rs
+++ b/src/test/run-pass/yield2.rs
@@ -1,5 +1,5 @@
 // -*- rust -*-
-use std;
+extern mod std;
 
 fn main() {
     let mut i: int = 0;
diff --git a/src/test/run-pass/zip-same-length.rs b/src/test/run-pass/zip-same-length.rs
index 43c5d704b1a..61e359129fe 100644
--- a/src/test/run-pass/zip-same-length.rs
+++ b/src/test/run-pass/zip-same-length.rs
@@ -1,6 +1,6 @@
 // In this case, the code should compile and should
 // succeed at runtime
-use std;
+extern mod std;
 use vec::{head, is_not_empty, last, same_length, zip};
 
 fn enum_chars(start: u8, end: u8) -> ~[char] {