about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDaniel Micay <danielmicay@gmail.com>2013-04-26 12:24:15 -0400
committerDaniel Micay <danielmicay@gmail.com>2013-04-27 21:34:24 -0400
commitf792baba42b79711b64950c46208a1eb4b9539be (patch)
tree246190c51857def54922ac4888e990d2e53164ca
parentdd5b1de1812f308ad68472d2ab06c15d3c342d75 (diff)
downloadrust-f792baba42b79711b64950c46208a1eb4b9539be.tar.gz
rust-f792baba42b79711b64950c46208a1eb4b9539be.zip
only use #[no_core] in libcore
-rw-r--r--src/compiletest/common.rs2
-rw-r--r--src/compiletest/compiletest.rc3
-rw-r--r--src/compiletest/errors.rs6
-rw-r--r--src/compiletest/header.rs7
-rw-r--r--src/compiletest/procsrv.rs6
-rw-r--r--src/compiletest/runtest.rs9
-rw-r--r--src/compiletest/util.rs3
-rw-r--r--src/libfuzzer/fuzzer.rc5
-rw-r--r--src/librust/rust.rc2
-rw-r--r--src/librustc/back/link.rs12
-rw-r--r--src/librustc/back/rpath.rs6
-rw-r--r--src/librustc/driver/driver.rs4
-rw-r--r--src/librustc/driver/session.rs2
-rw-r--r--src/librustc/front/config.rs5
-rw-r--r--src/librustc/front/core_inject.rs3
-rw-r--r--src/librustc/front/intrinsic_inject.rs4
-rw-r--r--src/librustc/front/test.rs3
-rw-r--r--src/librustc/lib/llvm.rs6
-rw-r--r--src/librustc/metadata/creader.rs3
-rw-r--r--src/librustc/metadata/csearch.rs4
-rw-r--r--src/librustc/metadata/cstore.rs3
-rw-r--r--src/librustc/metadata/decoder.rs3
-rw-r--r--src/librustc/metadata/encoder.rs10
-rw-r--r--src/librustc/metadata/filesearch.rs9
-rw-r--r--src/librustc/metadata/loader.rs10
-rw-r--r--src/librustc/metadata/tydecode.rs5
-rw-r--r--src/librustc/metadata/tyencode.rs3
-rw-r--r--src/librustc/middle/astencode.rs2
-rw-r--r--src/librustc/middle/borrowck/check_loans.rs3
-rw-r--r--src/librustc/middle/borrowck/gather_loans.rs3
-rw-r--r--src/librustc/middle/borrowck/loan.rs3
-rw-r--r--src/librustc/middle/borrowck/mod.rs4
-rw-r--r--src/librustc/middle/borrowck/preserve.rs2
-rw-r--r--src/librustc/middle/check_const.rs2
-rw-r--r--src/librustc/middle/check_match.rs4
-rw-r--r--src/librustc/middle/const_eval.rs4
-rw-r--r--src/librustc/middle/freevars.rs3
-rw-r--r--src/librustc/middle/kind.rs2
-rw-r--r--src/librustc/middle/lang_items.rs3
-rw-r--r--src/librustc/middle/lint.rs16
-rw-r--r--src/librustc/middle/liveness.rs8
-rw-r--r--src/librustc/middle/mem_categorization.rs4
-rw-r--r--src/librustc/middle/moves.rs3
-rw-r--r--src/librustc/middle/pat_util.rs2
-rw-r--r--src/librustc/middle/privacy.rs3
-rw-r--r--src/librustc/middle/region.rs3
-rw-r--r--src/librustc/middle/resolve.rs4
-rw-r--r--src/librustc/middle/subst.rs1
-rw-r--r--src/librustc/middle/trans/_match.rs2
-rw-r--r--src/librustc/middle/trans/asm.rs2
-rw-r--r--src/librustc/middle/trans/base.rs5
-rw-r--r--src/librustc/middle/trans/build.rs13
-rw-r--r--src/librustc/middle/trans/cabi_mips.rs2
-rw-r--r--src/librustc/middle/trans/cabi_x86.rs1
-rw-r--r--src/librustc/middle/trans/callee.rs2
-rw-r--r--src/librustc/middle/trans/closure.rs2
-rw-r--r--src/librustc/middle/trans/common.rs6
-rw-r--r--src/librustc/middle/trans/consts.rs2
-rw-r--r--src/librustc/middle/trans/controlflow.rs3
-rw-r--r--src/librustc/middle/trans/datum.rs3
-rw-r--r--src/librustc/middle/trans/debuginfo.rs3
-rw-r--r--src/librustc/middle/trans/expr.rs2
-rw-r--r--src/librustc/middle/trans/foreign.rs2
-rw-r--r--src/librustc/middle/trans/glue.rs4
-rw-r--r--src/librustc/middle/trans/inline.rs3
-rw-r--r--src/librustc/middle/trans/machine.rs2
-rw-r--r--src/librustc/middle/trans/meth.rs2
-rw-r--r--src/librustc/middle/trans/monomorphize.rs3
-rw-r--r--src/librustc/middle/trans/reachable.rs1
-rw-r--r--src/librustc/middle/trans/type_of.rs3
-rw-r--r--src/librustc/middle/trans/type_use.rs2
-rw-r--r--src/librustc/middle/ty.rs8
-rw-r--r--src/librustc/middle/typeck/astconv.rs4
-rw-r--r--src/librustc/middle/typeck/check/_match.rs3
-rw-r--r--src/librustc/middle/typeck/check/method.rs5
-rw-r--r--src/librustc/middle/typeck/check/mod.rs7
-rw-r--r--src/librustc/middle/typeck/check/regionck.rs4
-rw-r--r--src/librustc/middle/typeck/check/regionmanip.rs2
-rw-r--r--src/librustc/middle/typeck/check/vtable.rs5
-rw-r--r--src/librustc/middle/typeck/check/writeback.rs4
-rw-r--r--src/librustc/middle/typeck/coherence.rs1
-rw-r--r--src/librustc/middle/typeck/collect.rs3
-rw-r--r--src/librustc/middle/typeck/infer/coercion.rs2
-rw-r--r--src/librustc/middle/typeck/infer/combine.rs3
-rw-r--r--src/librustc/middle/typeck/infer/glb.rs2
-rw-r--r--src/librustc/middle/typeck/infer/lattice.rs2
-rw-r--r--src/librustc/middle/typeck/infer/lub.rs2
-rw-r--r--src/librustc/middle/typeck/infer/mod.rs6
-rw-r--r--src/librustc/middle/typeck/infer/region_inference.rs5
-rw-r--r--src/librustc/middle/typeck/infer/resolve.rs4
-rw-r--r--src/librustc/middle/typeck/infer/sub.rs3
-rw-r--r--src/librustc/middle/typeck/infer/test.rs2
-rw-r--r--src/librustc/middle/typeck/infer/to_str.rs5
-rw-r--r--src/librustc/middle/typeck/infer/unify.rs1
-rw-r--r--src/librustc/middle/typeck/mod.rs4
-rw-r--r--src/librustc/middle/typeck/rscope.rs4
-rw-r--r--src/librustc/rustc.rc7
-rw-r--r--src/librustc/util/common.rs3
-rw-r--r--src/librustc/util/ppaux.rs5
-rw-r--r--src/librustdoc/astsrv.rs2
-rw-r--r--src/librustdoc/attr_parser.rs4
-rw-r--r--src/librustdoc/attr_pass.rs4
-rw-r--r--src/librustdoc/config.rs7
-rw-r--r--src/librustdoc/demo.rs2
-rw-r--r--src/librustdoc/desc_to_brief_pass.rs5
-rw-r--r--src/librustdoc/doc.rs4
-rw-r--r--src/librustdoc/extract.rs4
-rw-r--r--src/librustdoc/fold.rs4
-rw-r--r--src/librustdoc/markdown_index_pass.rs5
-rw-r--r--src/librustdoc/markdown_pass.rs5
-rw-r--r--src/librustdoc/markdown_writer.rs9
-rw-r--r--src/librustdoc/page_pass.rs2
-rw-r--r--src/librustdoc/parse.rs2
-rw-r--r--src/librustdoc/pass.rs4
-rw-r--r--src/librustdoc/path_pass.rs2
-rw-r--r--src/librustdoc/prune_private_pass.rs2
-rw-r--r--src/librustdoc/rustdoc.rc3
-rw-r--r--src/librustdoc/sectionalize_pass.rs5
-rw-r--r--src/librustdoc/text_pass.rs4
-rw-r--r--src/librustdoc/tystr_pass.rs4
-rw-r--r--src/librustdoc/unindent_pass.rs6
-rw-r--r--src/librustdoc/util.rs2
-rw-r--r--src/librusti/rusti.rc4
-rw-r--r--src/librustpkg/path_util.rs3
-rw-r--r--src/librustpkg/rustpkg.rc4
-rw-r--r--src/librustpkg/tests.rs5
-rw-r--r--src/libstd/arc.rs2
-rw-r--r--src/libstd/arena.rs1
-rw-r--r--src/libstd/bitv.rs6
-rw-r--r--src/libstd/c_vec.rs5
-rw-r--r--src/libstd/comm.rs1
-rw-r--r--src/libstd/deque.rs4
-rw-r--r--src/libstd/dlist.rs2
-rw-r--r--src/libstd/ebml.rs3
-rw-r--r--src/libstd/fileinput.rs2
-rw-r--r--src/libstd/flatpipes.rs17
-rw-r--r--src/libstd/fun_treemap.rs1
-rw-r--r--src/libstd/future.rs2
-rw-r--r--src/libstd/getopts.rs3
-rw-r--r--src/libstd/json.rs2
-rw-r--r--src/libstd/list.rs5
-rw-r--r--src/libstd/net_ip.rs4
-rw-r--r--src/libstd/net_tcp.rs2
-rw-r--r--src/libstd/net_url.rs2
-rw-r--r--src/libstd/num/complex.rs2
-rw-r--r--src/libstd/num/rational.rs4
-rw-r--r--src/libstd/par.rs8
-rw-r--r--src/libstd/priority_queue.rs4
-rw-r--r--src/libstd/rl.rs3
-rw-r--r--src/libstd/rope.rs10
-rw-r--r--src/libstd/serialize.rs1
-rw-r--r--src/libstd/smallintmap.rs2
-rw-r--r--src/libstd/sort.rs4
-rw-r--r--src/libstd/std.rc5
-rw-r--r--src/libstd/sync.rs2
-rw-r--r--src/libstd/task_pool.rs1
-rw-r--r--src/libstd/tempfile.rs1
-rw-r--r--src/libstd/test.rs2
-rw-r--r--src/libstd/time.rs9
-rw-r--r--src/libstd/timer.rs4
-rw-r--r--src/libstd/treemap.rs3
-rw-r--r--src/libstd/uv_global_loop.rs3
-rw-r--r--src/libstd/uv_iotask.rs2
-rw-r--r--src/libstd/uv_ll.rs2
-rw-r--r--src/libstd/workcache.rs6
-rw-r--r--src/libsyntax/abi.rs2
-rw-r--r--src/libsyntax/ast_map.rs5
-rw-r--r--src/libsyntax/ast_util.rs7
-rw-r--r--src/libsyntax/attr.rs3
-rw-r--r--src/libsyntax/codemap.rs5
-rw-r--r--src/libsyntax/diagnostic.rs7
-rw-r--r--src/libsyntax/ext/asm.rs4
-rw-r--r--src/libsyntax/ext/auto_encode.rs4
-rw-r--r--src/libsyntax/ext/base.rs3
-rw-r--r--src/libsyntax/ext/build.rs4
-rw-r--r--src/libsyntax/ext/concat_idents.rs2
-rw-r--r--src/libsyntax/ext/deriving/decodable.rs4
-rw-r--r--src/libsyntax/ext/deriving/encodable.rs4
-rw-r--r--src/libsyntax/ext/deriving/generic.rs2
-rw-r--r--src/libsyntax/ext/deriving/iter_bytes.rs4
-rw-r--r--src/libsyntax/ext/deriving/mod.rs4
-rw-r--r--src/libsyntax/ext/env.rs3
-rw-r--r--src/libsyntax/ext/expand.rs4
-rw-r--r--src/libsyntax/ext/fmt.rs4
-rw-r--r--src/libsyntax/ext/log_syntax.rs3
-rw-r--r--src/libsyntax/ext/pipes/ast_builder.rs4
-rw-r--r--src/libsyntax/ext/pipes/check.rs2
-rw-r--r--src/libsyntax/ext/pipes/liveness.rs3
-rw-r--r--src/libsyntax/ext/pipes/parse_proto.rs2
-rw-r--r--src/libsyntax/ext/pipes/pipec.rs5
-rw-r--r--src/libsyntax/ext/pipes/proto.rs4
-rw-r--r--src/libsyntax/ext/quote.rs3
-rw-r--r--src/libsyntax/ext/source_util.rs6
-rw-r--r--src/libsyntax/ext/trace_macros.rs2
-rw-r--r--src/libsyntax/ext/tt/macro_parser.rs1
-rw-r--r--src/libsyntax/ext/tt/macro_rules.rs1
-rw-r--r--src/libsyntax/ext/tt/transcribe.rs4
-rw-r--r--src/libsyntax/fold.rs4
-rw-r--r--src/libsyntax/opt_vec.rs1
-rw-r--r--src/libsyntax/parse/comments.rs8
-rw-r--r--src/libsyntax/parse/common.rs4
-rw-r--r--src/libsyntax/parse/lexer.rs7
-rw-r--r--src/libsyntax/parse/obsolete.rs2
-rw-r--r--src/libsyntax/parse/parser.rs2
-rw-r--r--src/libsyntax/parse/prec.rs2
-rw-r--r--src/libsyntax/parse/token.rs6
-rw-r--r--src/libsyntax/print/pp.rs6
-rw-r--r--src/libsyntax/print/pprust.rs7
-rw-r--r--src/libsyntax/syntax.rc7
-rw-r--r--src/libsyntax/util/interner.rs1
-rw-r--r--src/libsyntax/visit.rs2
211 files changed, 6 insertions, 810 deletions
diff --git a/src/compiletest/common.rs b/src/compiletest/common.rs
index f892e3a1e23..e515ef302f6 100644
--- a/src/compiletest/common.rs
+++ b/src/compiletest/common.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 #[deriving(Eq)]
 pub enum mode {
     mode_compile_fail,
diff --git a/src/compiletest/compiletest.rc b/src/compiletest/compiletest.rc
index 6626bc039f9..4392ce7ba28 100644
--- a/src/compiletest/compiletest.rc
+++ b/src/compiletest/compiletest.rc
@@ -10,14 +10,11 @@
 
 #[crate_type = "bin"];
 
-#[no_core];
-
 #[allow(vecs_implicitly_copyable)];
 #[allow(non_camel_case_types)];
 #[allow(deprecated_mode)];
 #[allow(deprecated_pattern)];
 
-extern mod core(vers = "0.7-pre");
 extern mod std(vers = "0.7-pre");
 
 use core::*;
diff --git a/src/compiletest/errors.rs b/src/compiletest/errors.rs
index 3aa88523a87..aa8d61027b3 100644
--- a/src/compiletest/errors.rs
+++ b/src/compiletest/errors.rs
@@ -8,12 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
-use core::io;
-use core::io::ReaderUtil;
-use core::str;
-
 pub struct ExpectedError { line: uint, kind: ~str, msg: ~str }
 
 // Load any test directives embedded in the file
diff --git a/src/compiletest/header.rs b/src/compiletest/header.rs
index 2b365188338..b0d04c6739b 100644
--- a/src/compiletest/header.rs
+++ b/src/compiletest/header.rs
@@ -8,16 +8,9 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use common;
 use common::config;
 
-use core::io::ReaderUtil;
-use core::io;
-use core::os;
-use core::str;
-
 pub struct TestProps {
     // Lines that should be expected, in order, on standard out
     error_patterns: ~[~str],
diff --git a/src/compiletest/procsrv.rs b/src/compiletest/procsrv.rs
index 7d78b84dc80..fe08cf1201b 100644
--- a/src/compiletest/procsrv.rs
+++ b/src/compiletest/procsrv.rs
@@ -8,16 +8,10 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
 
-use core::io::{ReaderUtil, WriterUtil};
-use core::io;
 use core::libc::c_int;
-use core::os;
 use core::run::spawn_process;
 use core::run;
-use core::str;
-use core::task;
 
 #[cfg(target_os = "win32")]
 fn target_env(lib_path: ~str, prog: ~str) -> ~[(~str,~str)] {
diff --git a/src/compiletest/runtest.rs b/src/compiletest/runtest.rs
index ed66aea4f0c..fef4cabf7fd 100644
--- a/src/compiletest/runtest.rs
+++ b/src/compiletest/runtest.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use common::mode_run_pass;
 use common::mode_run_fail;
 use common::mode_compile_fail;
@@ -22,13 +20,6 @@ use procsrv;
 use util;
 use util::logv;
 
-use core::io::WriterUtil;
-use core::io;
-use core::os;
-use core::str;
-use core::uint;
-use core::vec;
-
 pub fn run(config: config, testfile: ~str) {
     if config.verbose {
         // We're going to be dumping a lot of info. Start on a new line.
diff --git a/src/compiletest/util.rs b/src/compiletest/util.rs
index 616ca8d4840..51579c33e9a 100644
--- a/src/compiletest/util.rs
+++ b/src/compiletest/util.rs
@@ -8,11 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use common::config;
 
-use core::io;
 use core::os::getenv;
 
 pub fn make_new_path(path: ~str) -> ~str {
diff --git a/src/libfuzzer/fuzzer.rc b/src/libfuzzer/fuzzer.rc
index 917ab3e8801..df233a2f2b5 100644
--- a/src/libfuzzer/fuzzer.rc
+++ b/src/libfuzzer/fuzzer.rc
@@ -17,7 +17,6 @@
 #[comment = "The Rust fuzzer library"];
 #[license = "MIT/ASL2"];
 #[crate_type = "lib"];
-#[no_core];
 
 #[legacy_modes];
 
@@ -26,12 +25,10 @@
 #[allow(deprecated_mode)];
 #[allow(deprecated_pattern)];
 
-extern mod core(vers = "0.7-pre");
 extern mod std(vers = "0.7-pre");
 extern mod syntax(vers = "0.7-pre");
 
-use core::*;
-use core::io::WriterUtil;
+use core::run;
 
 use syntax::{ast, fold, visit, codemap};
 use syntax::parse;
diff --git a/src/librust/rust.rc b/src/librust/rust.rc
index bf35cae27dd..ff15fc12ff4 100644
--- a/src/librust/rust.rc
+++ b/src/librust/rust.rc
@@ -20,8 +20,6 @@
 #[license = "MIT/ASL2"];
 #[crate_type = "lib"];
 
-extern mod core(vers = "0.7-pre");
-
 use core::run;
 
 enum ValidUsage {
diff --git a/src/librustc/back/link.rs b/src/librustc/back/link.rs
index 8befa4c8203..8c442f2d5c9 100644
--- a/src/librustc/back/link.rs
+++ b/src/librustc/back/link.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use back::rpath;
 use driver::session::Session;
 use driver::session;
@@ -22,17 +20,12 @@ use middle::trans::common::CrateContext;
 use middle::ty;
 use util::ppaux;
 
-use core::char;
 use core::hash::Streaming;
 use core::hash;
 use core::io::WriterUtil;
 use core::libc::{c_int, c_uint};
 use core::os::consts::{macos, freebsd, linux, android, win32};
-use core::os;
-use core::ptr;
 use core::run;
-use core::str;
-use core::vec;
 use syntax::ast;
 use syntax::ast_map::{path, path_mod, path_name};
 use syntax::attr;
@@ -98,10 +91,7 @@ pub mod jit {
     use lib::llvm::{ModuleRef, PassManagerRef};
     use metadata::cstore;
 
-    use core::cast;
     use core::libc::c_int;
-    use core::ptr;
-    use core::str;
 
     pub mod rusti {
         #[nolink]
@@ -183,10 +173,8 @@ pub mod write {
     use lib::llvm::{False, ModuleRef, mk_pass_manager, mk_target_data};
     use lib;
 
-    use core::prelude::*;
     use core::libc::{c_int, c_uint};
     use core::path::Path;
-    use core::str;
     use core::run;
 
     pub fn is_object_or_assembly_or_exe(ot: output_type) -> bool {
diff --git a/src/librustc/back/rpath.rs b/src/librustc/back/rpath.rs
index 49935eea0e1..fab19b68174 100644
--- a/src/librustc/back/rpath.rs
+++ b/src/librustc/back/rpath.rs
@@ -8,16 +8,11 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use driver::session;
 use metadata::cstore;
 use metadata::filesearch;
 
-use core::os;
-use core::uint;
 use core::util;
-use core::vec;
 use core::hashmap::HashSet;
 
 fn not_win32(os: session::os) -> bool {
@@ -201,7 +196,6 @@ mod test {
     // FIXME(#2119): the outer attribute should be #[cfg(unix, test)], then
     // these redundant #[cfg(test)] blocks can be removed
     #[cfg(test)]
-    use core::prelude::*;
     #[cfg(test)]
     use back::rpath::{get_absolute_rpath, get_install_prefix_rpath};
     #[cfg(test)]
diff --git a/src/librustc/driver/driver.rs b/src/librustc/driver/driver.rs
index f33bb878ee4..a6c061fee1e 100644
--- a/src/librustc/driver/driver.rs
+++ b/src/librustc/driver/driver.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use back::link;
 use back::{arm, x86, x86_64, mips};
 use driver::session::{Aggressive};
@@ -893,8 +891,6 @@ pub fn list_metadata(sess: Session, path: &Path, out: @io::Writer) {
 
 #[cfg(test)]
 mod test {
-    use core::prelude::*;
-
     use driver::driver::{build_configuration, build_session};
     use driver::driver::{build_session_options, optgroups, str_input};
 
diff --git a/src/librustc/driver/session.rs b/src/librustc/driver/session.rs
index a2bbbca0c5a..55c81e6d17b 100644
--- a/src/librustc/driver/session.rs
+++ b/src/librustc/driver/session.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use back::link;
 use back::target_strs;
 use back;
diff --git a/src/librustc/front/config.rs b/src/librustc/front/config.rs
index 966f2a4ac70..75ae8724d72 100644
--- a/src/librustc/front/config.rs
+++ b/src/librustc/front/config.rs
@@ -8,13 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use syntax::{ast, fold, attr};
 
-use core::option;
-use core::vec;
-
 type in_cfg_pred = @fn(attrs: ~[ast::attribute]) -> bool;
 
 struct Context {
diff --git a/src/librustc/front/core_inject.rs b/src/librustc/front/core_inject.rs
index 132023beeb4..ec5ba74b7cc 100644
--- a/src/librustc/front/core_inject.rs
+++ b/src/librustc/front/core_inject.rs
@@ -8,11 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use driver::session::Session;
 
-use core::vec;
 use syntax::ast;
 use syntax::attr;
 use syntax::codemap;
diff --git a/src/librustc/front/intrinsic_inject.rs b/src/librustc/front/intrinsic_inject.rs
index c660fa3ef80..54dbea27bac 100644
--- a/src/librustc/front/intrinsic_inject.rs
+++ b/src/librustc/front/intrinsic_inject.rs
@@ -8,15 +8,11 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use driver::session::Session;
 use syntax::parse;
 use syntax::ast;
 use syntax::codemap::spanned;
 
-use core::vec;
-
 pub fn inject_intrinsic(sess: Session, crate: @ast::crate) -> @ast::crate {
     let intrinsic_module = @(include_str!("intrinsic.rs").to_owned());
 
diff --git a/src/librustc/front/test.rs b/src/librustc/front/test.rs
index fdef3f6764d..02e2a4c8734 100644
--- a/src/librustc/front/test.rs
+++ b/src/librustc/front/test.rs
@@ -10,12 +10,9 @@
 
 // Code that generates a test runner to run all the tests in a crate
 
-use core::prelude::*;
-
 use driver::session;
 use front::config;
 
-use core::vec;
 use syntax::ast_util::*;
 use syntax::attr;
 use syntax::codemap::{dummy_sp, span, ExpandedFrom, CallInfo, NameAndSpan};
diff --git a/src/librustc/lib/llvm.rs b/src/librustc/lib/llvm.rs
index 1ab84c7978c..31050448e75 100644
--- a/src/librustc/lib/llvm.rs
+++ b/src/librustc/lib/llvm.rs
@@ -8,14 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use core::hashmap::HashMap;
 use core::libc::c_uint;
-use core::option;
-use core::ptr;
-use core::str;
-use core::vec;
 
 pub type Opcode = u32;
 pub type Bool = c_uint;
diff --git a/src/librustc/metadata/creader.rs b/src/librustc/metadata/creader.rs
index 909e351acb1..0d0f0d7ab69 100644
--- a/src/librustc/metadata/creader.rs
+++ b/src/librustc/metadata/creader.rs
@@ -11,15 +11,12 @@
 
 //! Validates all used crates and extern libraries and loads their metadata
 
-use core::prelude::*;
-
 use metadata::cstore;
 use metadata::decoder;
 use metadata::filesearch::FileSearch;
 use metadata::loader;
 
 use core::hashmap::HashMap;
-use core::vec;
 use syntax::attr;
 use syntax::codemap::{span, dummy_sp};
 use syntax::diagnostic::span_handler;
diff --git a/src/librustc/metadata/csearch.rs b/src/librustc/metadata/csearch.rs
index f7de281194f..5626714260b 100644
--- a/src/librustc/metadata/csearch.rs
+++ b/src/librustc/metadata/csearch.rs
@@ -8,18 +8,14 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
 // Searching for information from the cstore
 
-use core::prelude::*;
-
 use metadata::common::*;
 use metadata::cstore;
 use metadata::decoder;
 use metadata;
 use middle::{ty, resolve};
 
-use core::vec;
 use reader = std::ebml::reader;
 use syntax::ast;
 use syntax::ast_map;
diff --git a/src/librustc/metadata/cstore.rs b/src/librustc/metadata/cstore.rs
index d738c3e7747..05275a4c665 100644
--- a/src/librustc/metadata/cstore.rs
+++ b/src/librustc/metadata/cstore.rs
@@ -12,13 +12,10 @@
 // The crate store - a central repo for information collected about external
 // crates and libraries
 
-use core::prelude::*;
-
 use metadata::cstore;
 use metadata::decoder;
 
 use core::hashmap::HashMap;
-use core::vec;
 use std;
 use syntax::ast;
 use syntax::parse::token::ident_interner;
diff --git a/src/librustc/metadata/decoder.rs b/src/librustc/metadata/decoder.rs
index 460da765004..1a94b57279c 100644
--- a/src/librustc/metadata/decoder.rs
+++ b/src/librustc/metadata/decoder.rs
@@ -8,11 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
 // Decoding metadata from a single crate's metadata
 
-use core::prelude::*;
-
 use metadata::cstore::crate_metadata;
 use metadata::common::*;
 use metadata::csearch::{ProvidedTraitMethodInfo, StaticMethodInfo};
diff --git a/src/librustc/metadata/encoder.rs b/src/librustc/metadata/encoder.rs
index 8515e0c6e9b..dd4ef0d2e68 100644
--- a/src/librustc/metadata/encoder.rs
+++ b/src/librustc/metadata/encoder.rs
@@ -8,11 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
 // Metadata encoding
 
-use core::prelude::*;
-
 use metadata::common::*;
 use metadata::cstore;
 use metadata::decoder;
@@ -26,13 +23,6 @@ use util::ppaux::ty_to_str;
 use core::flate;
 use core::hash::HashUtil;
 use core::hashmap::HashMap;
-use core::int;
-use core::io::{Writer, WriterUtil};
-use core::io;
-use core::str;
-use core::to_bytes::IterBytes;
-use core::uint;
-use core::vec;
 use std::serialize::Encodable;
 use std;
 use syntax::abi::AbiSet;
diff --git a/src/librustc/metadata/filesearch.rs b/src/librustc/metadata/filesearch.rs
index 25cbb97e39e..c88d5437c84 100644
--- a/src/librustc/metadata/filesearch.rs
+++ b/src/librustc/metadata/filesearch.rs
@@ -8,19 +8,10 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
 // A module for searching for libraries
 // FIXME (#2658): I'm not happy how this module turned out. Should
 // probably just be folded into cstore.
 
-use core::prelude::*;
-
-use core::option;
-use core::os;
-use core::result::Result;
-use core::result;
-use core::str;
-
 pub type pick<'self, T> = &'self fn(path: &Path) -> Option<T>;
 
 pub fn pick_file(file: Path, path: &Path) -> Option<Path> {
diff --git a/src/librustc/metadata/loader.rs b/src/librustc/metadata/loader.rs
index df61ed0e262..d2982e58038 100644
--- a/src/librustc/metadata/loader.rs
+++ b/src/librustc/metadata/loader.rs
@@ -11,8 +11,6 @@
 
 //! Finds crate binaries and loads their metadata
 
-use core::prelude::*;
-
 use lib::llvm::{False, llvm, mk_object_file, mk_section_iter};
 use metadata::decoder;
 use metadata::encoder;
@@ -24,16 +22,8 @@ use syntax::parse::token::ident_interner;
 use syntax::print::pprust;
 use syntax::{ast, attr};
 
-use core::cast;
 use core::flate;
-use core::io::WriterUtil;
-use core::io;
 use core::os::consts::{macos, freebsd, linux, android, win32};
-use core::option;
-use core::ptr;
-use core::str;
-use core::uint;
-use core::vec;
 
 pub enum os {
     os_macos,
diff --git a/src/librustc/metadata/tydecode.rs b/src/librustc/metadata/tydecode.rs
index 5d5169a5181..bb8c93a9d5d 100644
--- a/src/librustc/metadata/tydecode.rs
+++ b/src/librustc/metadata/tydecode.rs
@@ -14,13 +14,8 @@
 // tjc note: Would be great to have a `match check` macro equivalent
 // for some of these
 
-use core::prelude::*;
-
 use middle::ty;
 
-use core::str;
-use core::uint;
-use core::vec;
 use syntax::abi::AbiSet;
 use syntax::abi;
 use syntax::ast;
diff --git a/src/librustc/metadata/tyencode.rs b/src/librustc/metadata/tyencode.rs
index 0c290ac08a7..7c9de2d0b41 100644
--- a/src/librustc/metadata/tyencode.rs
+++ b/src/librustc/metadata/tyencode.rs
@@ -8,11 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
 // Type encoding
 
-use core::prelude::*;
-
 use middle::ty::param_ty;
 use middle::ty;
 
diff --git a/src/librustc/middle/astencode.rs b/src/librustc/middle/astencode.rs
index 7d4cb015106..f1fd1cd7242 100644
--- a/src/librustc/middle/astencode.rs
+++ b/src/librustc/middle/astencode.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use c = metadata::common;
 use cstore = metadata::cstore;
 use driver::session::Session;
diff --git a/src/librustc/middle/borrowck/check_loans.rs b/src/librustc/middle/borrowck/check_loans.rs
index 8fed8e78094..07b6c80d420 100644
--- a/src/librustc/middle/borrowck/check_loans.rs
+++ b/src/librustc/middle/borrowck/check_loans.rs
@@ -17,8 +17,6 @@
 // 3. assignments do not affect things loaned out as immutable
 // 4. moves do not affect things loaned out in any way
 
-use core::prelude::*;
-
 use middle::moves;
 use middle::typeck::check::PurityState;
 use middle::borrowck::{Loan, bckerr, BorrowckCtxt, inherent_mutability};
@@ -33,7 +31,6 @@ use middle::ty;
 use util::ppaux::ty_to_str;
 
 use core::hashmap::HashSet;
-use core::uint;
 use core::util::with;
 use syntax::ast::m_mutbl;
 use syntax::ast;
diff --git a/src/librustc/middle/borrowck/gather_loans.rs b/src/librustc/middle/borrowck/gather_loans.rs
index b8e0bba6b23..92ac90e99da 100644
--- a/src/librustc/middle/borrowck/gather_loans.rs
+++ b/src/librustc/middle/borrowck/gather_loans.rs
@@ -16,8 +16,6 @@
 // their associated scopes.  In phase two, checking loans, we will then make
 // sure that all of these loans are honored.
 
-use core::prelude::*;
-
 use middle::borrowck::preserve::{PreserveCondition, PcOk, PcIfPure};
 use middle::borrowck::{Loan, bckerr, bckres, BorrowckCtxt, err_mutbl};
 use middle::borrowck::{LoanKind, TotalFreeze, PartialFreeze,
@@ -32,7 +30,6 @@ use util::common::indenter;
 use util::ppaux::{Repr, region_to_str};
 
 use core::hashmap::{HashSet, HashMap};
-use core::vec;
 use syntax::ast::{m_const, m_imm, m_mutbl};
 use syntax::ast;
 use syntax::codemap::span;
diff --git a/src/librustc/middle/borrowck/loan.rs b/src/librustc/middle/borrowck/loan.rs
index aedd6bb5467..21de29b8f60 100644
--- a/src/librustc/middle/borrowck/loan.rs
+++ b/src/librustc/middle/borrowck/loan.rs
@@ -41,8 +41,6 @@ FIXME #4730 --- much more needed, don't have time to write this all up now
 // Loan(Ex, M, S) = Ls holds if ToAddr(Ex) will remain valid for the entirety
 // of the scope S, presuming that the returned set of loans `Ls` are honored.
 
-use core::prelude::*;
-
 use middle::borrowck::{Loan, bckerr, bckres, BorrowckCtxt, err_mutbl};
 use middle::borrowck::{LoanKind, TotalFreeze, PartialFreeze,
                        TotalTake, PartialTake, Immobile};
@@ -55,7 +53,6 @@ use middle::mem_categorization::{gc_ptr, region_ptr};
 use middle::ty;
 use util::common::indenter;
 
-use core::result::{Err, Ok};
 use syntax::ast::m_imm;
 use syntax::ast;
 
diff --git a/src/librustc/middle/borrowck/mod.rs b/src/librustc/middle/borrowck/mod.rs
index dec194aa8e3..3746f9c6e60 100644
--- a/src/librustc/middle/borrowck/mod.rs
+++ b/src/librustc/middle/borrowck/mod.rs
@@ -224,8 +224,6 @@ Borrowck results in two maps.
   given a memory location and not used as immediates.
  */
 
-use core::prelude::*;
-
 use middle::mem_categorization::*;
 use middle::ty;
 use middle::typeck;
@@ -234,8 +232,6 @@ use util::common::stmt_set;
 use util::ppaux::note_and_explain_region;
 
 use core::hashmap::{HashSet, HashMap};
-use core::io;
-use core::result::{Result, Ok, Err};
 use core::to_bytes;
 use syntax::ast::{mutability, m_imm};
 use syntax::ast;
diff --git a/src/librustc/middle/borrowck/preserve.rs b/src/librustc/middle/borrowck/preserve.rs
index 40a59e2f89f..c44920fffa5 100644
--- a/src/librustc/middle/borrowck/preserve.rs
+++ b/src/librustc/middle/borrowck/preserve.rs
@@ -13,8 +13,6 @@
 // the scope S.
 //
 
-use core::prelude::*;
-
 use middle::borrowck::{RootInfo, bckerr, bckerr_code, bckres, BorrowckCtxt};
 use middle::borrowck::{err_mut_uniq, err_mut_variant};
 use middle::borrowck::{err_out_of_root_scope, err_out_of_scope};
diff --git a/src/librustc/middle/check_const.rs b/src/librustc/middle/check_const.rs
index 1953841e650..6a47eedcea8 100644
--- a/src/librustc/middle/check_const.rs
+++ b/src/librustc/middle/check_const.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use driver::session::Session;
 use middle::resolve;
 use middle::ty;
diff --git a/src/librustc/middle/check_match.rs b/src/librustc/middle/check_match.rs
index 04d47bf5d06..9ba1d2523c6 100644
--- a/src/librustc/middle/check_match.rs
+++ b/src/librustc/middle/check_match.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use middle::const_eval::{compare_const_vals, lookup_const_by_id};
 use middle::const_eval::{eval_const_expr, const_val, const_bool};
 use middle::pat_util::*;
@@ -19,8 +17,6 @@ use middle::typeck::method_map;
 use middle::moves;
 use util::ppaux::ty_to_str;
 
-use core::uint;
-use core::vec;
 use std::sort;
 use syntax::ast::*;
 use syntax::ast_util::{unguarded_pat, walk_pat};
diff --git a/src/librustc/middle/const_eval.rs b/src/librustc/middle/const_eval.rs
index d3619a24767..bba4d35b560 100644
--- a/src/librustc/middle/const_eval.rs
+++ b/src/librustc/middle/const_eval.rs
@@ -8,15 +8,11 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use metadata::csearch;
 use middle::astencode;
 use middle::ty;
 use middle;
 
-use core::float;
-use core::vec;
 use syntax::{ast, ast_map, ast_util, visit};
 use syntax::ast::*;
 
diff --git a/src/librustc/middle/freevars.rs b/src/librustc/middle/freevars.rs
index b25c3be0d68..4c8d36f93f4 100644
--- a/src/librustc/middle/freevars.rs
+++ b/src/librustc/middle/freevars.rs
@@ -8,12 +8,9 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
 // A pass that annotates for each loops and functions with the free
 // variables that they contain.
 
-use core::prelude::*;
-
 use middle::resolve;
 use middle::ty;
 
diff --git a/src/librustc/middle/kind.rs b/src/librustc/middle/kind.rs
index 0558df60b73..cf488b0ac89 100644
--- a/src/librustc/middle/kind.rs
+++ b/src/librustc/middle/kind.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use middle::freevars::freevar_entry;
 use middle::freevars;
 use middle::liveness;
diff --git a/src/librustc/middle/lang_items.rs b/src/librustc/middle/lang_items.rs
index 5b302108ef0..6f7ccde586b 100644
--- a/src/librustc/middle/lang_items.rs
+++ b/src/librustc/middle/lang_items.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
 // Detecting language items.
 //
 // Language items are items that represent concepts intrinsic to the language
@@ -20,8 +19,6 @@
 //
 // * Functions called by the compiler itself.
 
-use core::prelude::*;
-
 use driver::session::Session;
 use metadata::csearch::each_lang_item;
 use metadata::cstore::iter_crate_data;
diff --git a/src/librustc/middle/lint.rs b/src/librustc/middle/lint.rs
index 95af2f15bc4..cd26708ef9a 100644
--- a/src/librustc/middle/lint.rs
+++ b/src/librustc/middle/lint.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use driver::session::Session;
 use driver::session;
 use middle::ty;
@@ -17,20 +15,6 @@ use middle::pat_util;
 use util::ppaux::{ty_to_str};
 
 use core::hashmap::HashMap;
-use core::char;
-use core::cmp;
-use core::i8;
-use core::i16;
-use core::i32;
-use core::i64;
-use core::int;
-use core::str;
-use core::u8;
-use core::u16;
-use core::u32;
-use core::u64;
-use core::uint;
-use core::vec;
 use std::smallintmap::SmallIntMap;
 use syntax::attr;
 use syntax::codemap::span;
diff --git a/src/librustc/middle/liveness.rs b/src/librustc/middle/liveness.rs
index 2b36ce4ce03..5cc8cabbb38 100644
--- a/src/librustc/middle/liveness.rs
+++ b/src/librustc/middle/liveness.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
 /*!
  * A classic liveness analysis based on dataflow over the AST.  Computes,
  * for each local variable in a function, whether that variable is live
@@ -103,7 +102,6 @@
  *   to return explicitly.
  */
 
-use core::prelude::*;
 
 use middle::lint::{unused_variable, dead_assignment};
 use middle::pat_util;
@@ -113,12 +111,6 @@ use middle::moves;
 use util::ppaux::ty_to_str;
 
 use core::hashmap::HashMap;
-use core::io::WriterUtil;
-use core::io;
-use core::ptr;
-use core::to_str;
-use core::uint;
-use core::vec;
 use core::util::with;
 use syntax::ast::*;
 use syntax::codemap::span;
diff --git a/src/librustc/middle/mem_categorization.rs b/src/librustc/middle/mem_categorization.rs
index 1696e5566e2..49c5717a357 100644
--- a/src/librustc/middle/mem_categorization.rs
+++ b/src/librustc/middle/mem_categorization.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
 /*!
  * # Categorization
  *
@@ -47,14 +46,11 @@
  * then an index to jump forward to the relevant item.
  */
 
-use core::prelude::*;
-
 use middle::ty;
 use middle::typeck;
 use util::ppaux::{ty_to_str, region_to_str};
 use util::common::indenter;
 
-use core::uint;
 use syntax::ast::{m_imm, m_const, m_mutbl};
 use syntax::ast;
 use syntax::codemap::span;
diff --git a/src/librustc/middle/moves.rs b/src/librustc/middle/moves.rs
index 66ce4d16d4b..0eb5c53d688 100644
--- a/src/librustc/middle/moves.rs
+++ b/src/librustc/middle/moves.rs
@@ -206,8 +206,6 @@ and so on.
 
 */
 
-use core::prelude::*;
-
 use middle::pat_util::{pat_bindings};
 use middle::freevars;
 use middle::ty;
@@ -216,7 +214,6 @@ use util::ppaux;
 use util::common::indenter;
 
 use core::hashmap::{HashSet, HashMap};
-use core::vec;
 use syntax::ast::*;
 use syntax::ast_util;
 use syntax::visit;
diff --git a/src/librustc/middle/pat_util.rs b/src/librustc/middle/pat_util.rs
index df0e508398e..3ca79982b7b 100644
--- a/src/librustc/middle/pat_util.rs
+++ b/src/librustc/middle/pat_util.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use middle::resolve;
 
 use core::hashmap::HashMap;
diff --git a/src/librustc/middle/privacy.rs b/src/librustc/middle/privacy.rs
index 89dad7fc01c..a37ebdcfaa2 100644
--- a/src/librustc/middle/privacy.rs
+++ b/src/librustc/middle/privacy.rs
@@ -8,12 +8,9 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
 // A pass that checks to make sure private fields and methods aren't used
 // outside their scopes.
 
-use core::prelude::*;
-
 use metadata::csearch;
 use middle::ty::{ty_struct, ty_enum};
 use middle::ty;
diff --git a/src/librustc/middle/region.rs b/src/librustc/middle/region.rs
index 043aa8d2533..f3299828171 100644
--- a/src/librustc/middle/region.rs
+++ b/src/librustc/middle/region.rs
@@ -17,8 +17,6 @@ region parameterized.
 
 */
 
-use core::prelude::*;
-
 use driver::session::Session;
 use metadata::csearch;
 use middle::resolve;
@@ -27,7 +25,6 @@ use middle::ty::{rv_contravariant, FreeRegion};
 use middle::ty;
 
 use core::hashmap::{HashMap, HashSet};
-use core::vec;
 use syntax::ast_map;
 use syntax::codemap::span;
 use syntax::print::pprust;
diff --git a/src/librustc/middle/resolve.rs b/src/librustc/middle/resolve.rs
index ff9bf4e03eb..5354ffc5d3c 100644
--- a/src/librustc/middle/resolve.rs
+++ b/src/librustc/middle/resolve.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use driver::session;
 use driver::session::Session;
 use metadata::csearch::{each_path, get_trait_method_def_ids};
@@ -23,8 +21,6 @@ use middle::lint::{allow, level, unused_imports};
 use middle::lint::{get_lint_level, get_lint_settings_level};
 use middle::pat_util::pat_bindings;
 
-use core::str;
-use core::vec;
 use syntax::ast::{RegionTyParamBound, TraitTyParamBound, _mod, add, arm};
 use syntax::ast::{binding_mode, bitand, bitor, bitxor, blk};
 use syntax::ast::{bind_infer, bind_by_ref, bind_by_copy};
diff --git a/src/librustc/middle/subst.rs b/src/librustc/middle/subst.rs
index 35257f9574c..c3a79373931 100644
--- a/src/librustc/middle/subst.rs
+++ b/src/librustc/middle/subst.rs
@@ -10,7 +10,6 @@
 
 // Type substitutions.
 
-use core::prelude::*;
 use middle::ty;
 use util::ppaux::Repr;
 
diff --git a/src/librustc/middle/trans/_match.rs b/src/librustc/middle/trans/_match.rs
index 6e84adae6dc..e31ad63953e 100644
--- a/src/librustc/middle/trans/_match.rs
+++ b/src/librustc/middle/trans/_match.rs
@@ -142,8 +142,6 @@
  *
  */
 
-use core::prelude::*;
-
 use back::abi;
 use lib::llvm::{llvm, ValueRef, BasicBlockRef};
 use middle::const_eval;
diff --git a/src/librustc/middle/trans/asm.rs b/src/librustc/middle/trans/asm.rs
index cbcefdd5fdb..3d1c0f3f82c 100644
--- a/src/librustc/middle/trans/asm.rs
+++ b/src/librustc/middle/trans/asm.rs
@@ -12,8 +12,6 @@
 # Translation of inline assembly.
 */
 
-use core::prelude::*;
-
 use lib;
 use middle::trans::build::*;
 use middle::trans::callee;
diff --git a/src/librustc/middle/trans/base.rs b/src/librustc/middle/trans/base.rs
index de64441fd95..03a85201862 100644
--- a/src/librustc/middle/trans/base.rs
+++ b/src/librustc/middle/trans/base.rs
@@ -23,8 +23,6 @@
 //     but many TypeRefs correspond to one ty::t; for instance, tup(int, int,
 //     int) and rec(x=int, y=int, z=int) will have the same TypeRef.
 
-use core::prelude::*;
-
 use back::link::{mangle_exported_name};
 use back::{link, abi, upcall};
 use driver::session;
@@ -68,10 +66,7 @@ use util::ppaux;
 
 use core::hash;
 use core::hashmap::{HashMap, HashSet};
-use core::int;
-use core::io;
 use core::libc::c_uint;
-use core::uint;
 use std::time;
 use syntax::ast::ident;
 use syntax::ast_map::{path, path_elt_to_str, path_name};
diff --git a/src/librustc/middle/trans/build.rs b/src/librustc/middle/trans/build.rs
index 774844c0690..9ade69b8b67 100644
--- a/src/librustc/middle/trans/build.rs
+++ b/src/librustc/middle/trans/build.rs
@@ -16,15 +16,8 @@ use lib;
 use middle::trans::common::*;
 use syntax::codemap::span;
 
-use core::prelude::*;
-use core::cast;
 use core::hashmap::HashMap;
 use core::libc::{c_uint, c_ulonglong, c_char};
-use core::libc;
-use core::option::Some;
-use core::ptr;
-use core::str;
-use core::vec;
 
 pub fn terminate(cx: block, _: &str) {
     cx.terminated = true;
@@ -174,7 +167,7 @@ pub fn IndirectBr(cx: block, Addr: ValueRef, NumDests: uint) {
 
 // This is a really awful way to get a zero-length c-string, but better (and a
 // lot more efficient) than doing str::as_c_str("", ...) every time.
-pub fn noname() -> *libc::c_char {
+pub fn noname() -> *c_char {
     unsafe {
         static cnull: uint = 0u;
         return cast::transmute(ptr::addr_of(&cnull));
@@ -618,7 +611,7 @@ pub fn StructGEP(cx: block, Pointer: ValueRef, Idx: uint) -> ValueRef {
     }
 }
 
-pub fn GlobalString(cx: block, _Str: *libc::c_char) -> ValueRef {
+pub fn GlobalString(cx: block, _Str: *c_char) -> ValueRef {
     unsafe {
         if cx.unreachable { return llvm::LLVMGetUndef(T_ptr(T_i8())); }
         count_insn(cx, "globalstring");
@@ -626,7 +619,7 @@ pub fn GlobalString(cx: block, _Str: *libc::c_char) -> ValueRef {
     }
 }
 
-pub fn GlobalStringPtr(cx: block, _Str: *libc::c_char) -> ValueRef {
+pub fn GlobalStringPtr(cx: block, _Str: *c_char) -> ValueRef {
     unsafe {
         if cx.unreachable { return llvm::LLVMGetUndef(T_ptr(T_i8())); }
         count_insn(cx, "globalstringptr");
diff --git a/src/librustc/middle/trans/cabi_mips.rs b/src/librustc/middle/trans/cabi_mips.rs
index 9a1c95e5184..971f2ae2bdb 100644
--- a/src/librustc/middle/trans/cabi_mips.rs
+++ b/src/librustc/middle/trans/cabi_mips.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::{ptr, vec, uint};
-use core::option::*;
 use core::libc::c_uint;
 use lib::llvm::{llvm, TypeRef, Integer, Pointer, Float, Double};
 use lib::llvm::{Struct, Array, Attribute};
diff --git a/src/librustc/middle/trans/cabi_x86.rs b/src/librustc/middle/trans/cabi_x86.rs
index 08b8c3db3ca..3a45b281543 100644
--- a/src/librustc/middle/trans/cabi_x86.rs
+++ b/src/librustc/middle/trans/cabi_x86.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 use driver::session::{os_win32, os_macos};
-use core::option::*;
 use lib::llvm::*;
 use lib::llvm::llvm::*;
 use super::cabi::*;
diff --git a/src/librustc/middle/trans/callee.rs b/src/librustc/middle/trans/callee.rs
index 7a174be1e57..19658555861 100644
--- a/src/librustc/middle/trans/callee.rs
+++ b/src/librustc/middle/trans/callee.rs
@@ -16,8 +16,6 @@
 // and methods are represented as just a fn ptr and not a full
 // closure.
 
-use core::prelude::*;
-
 use back::abi;
 use driver::session;
 use lib;
diff --git a/src/librustc/middle/trans/closure.rs b/src/librustc/middle/trans/closure.rs
index e532e5e1dfd..e35fef6b6f6 100644
--- a/src/librustc/middle/trans/closure.rs
+++ b/src/librustc/middle/trans/closure.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use back::abi;
 use back::link::{mangle_internal_name_by_path_and_seq};
 use lib::llvm::{llvm, ValueRef};
diff --git a/src/librustc/middle/trans/common.rs b/src/librustc/middle/trans/common.rs
index 7aade041fbc..c18c977bfb3 100644
--- a/src/librustc/middle/trans/common.rs
+++ b/src/librustc/middle/trans/common.rs
@@ -14,8 +14,6 @@
 
 */
 
-use core::prelude::*;
-
 use back::{abi, upcall};
 use driver::session;
 use driver::session::Session;
@@ -43,15 +41,11 @@ use middle::ty;
 use middle::typeck;
 use util::ppaux::{Repr};
 
-use core::cast;
 use core::hash;
 use core::hashmap::{HashMap, HashSet};
 use core::libc::{c_uint, c_longlong, c_ulonglong};
-use core::ptr;
-use core::str;
 use core::to_bytes;
 use core::vec::raw::to_ptr;
-use core::vec;
 use syntax::ast::ident;
 use syntax::ast_map::{path, path_elt};
 use syntax::codemap::span;
diff --git a/src/librustc/middle/trans/consts.rs b/src/librustc/middle/trans/consts.rs
index d0aeec89750..25f34b8eaa9 100644
--- a/src/librustc/middle/trans/consts.rs
+++ b/src/librustc/middle/trans/consts.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use back::abi;
 use lib::llvm::{llvm, SetLinkage, PrivateLinkage,
                 ValueRef, TypeRef, Bool, True, False};
diff --git a/src/librustc/middle/trans/controlflow.rs b/src/librustc/middle/trans/controlflow.rs
index 4f51e32f773..113136fa58d 100644
--- a/src/librustc/middle/trans/controlflow.rs
+++ b/src/librustc/middle/trans/controlflow.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use back::link;
 use lib;
 use lib::llvm::*;
@@ -24,7 +22,6 @@ use middle::ty;
 use util::common::indenter;
 use util::ppaux;
 
-use core::str;
 use syntax::ast;
 use syntax::ast::ident;
 use syntax::ast_map::path_mod;
diff --git a/src/librustc/middle/trans/datum.rs b/src/librustc/middle/trans/datum.rs
index ac0cf706453..fa27f652ac8 100644
--- a/src/librustc/middle/trans/datum.rs
+++ b/src/librustc/middle/trans/datum.rs
@@ -85,8 +85,6 @@
  * methods themselves.  Most are only suitable for some types of
  * values. */
 
-use core::prelude::*;
-
 use lib;
 use lib::llvm::ValueRef;
 use middle::borrowck::{RootInfo, root_map_key};
@@ -106,7 +104,6 @@ use util::ppaux::ty_to_str;
 
 use core::container::Set; // XXX: this should not be necessary
 use core::to_bytes;
-use core::uint;
 use syntax::ast;
 use syntax::parse::token::special_idents;
 
diff --git a/src/librustc/middle/trans/debuginfo.rs b/src/librustc/middle/trans/debuginfo.rs
index 6c1fbff664b..2a2bf7ba4ad 100644
--- a/src/librustc/middle/trans/debuginfo.rs
+++ b/src/librustc/middle/trans/debuginfo.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
 
 use driver::session;
 use lib::llvm::ValueRef;
@@ -22,8 +21,6 @@ use util::ppaux::ty_to_str;
 
 use core::hashmap::HashMap;
 use core::libc;
-use core::option;
-use core::sys;
 use syntax::codemap::span;
 use syntax::parse::token::ident_interner;
 use syntax::{ast, codemap, ast_util, ast_map};
diff --git a/src/librustc/middle/trans/expr.rs b/src/librustc/middle/trans/expr.rs
index 21fb11813e8..f666eb2aaa6 100644
--- a/src/librustc/middle/trans/expr.rs
+++ b/src/librustc/middle/trans/expr.rs
@@ -119,8 +119,6 @@ lvalues are *never* stored by value.
 
 */
 
-use core::prelude::*;
-
 use back::abi;
 use lib;
 use lib::llvm::{ValueRef, TypeRef, llvm};
diff --git a/src/librustc/middle/trans/foreign.rs b/src/librustc/middle/trans/foreign.rs
index 22a60a1ed2e..aa6d9eec259 100644
--- a/src/librustc/middle/trans/foreign.rs
+++ b/src/librustc/middle/trans/foreign.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use back::{link, abi};
 use lib::llvm::{SequentiallyConsistent, Acquire, Release, Xchg};
 use lib::llvm::{TypeRef, ValueRef};
diff --git a/src/librustc/middle/trans/glue.rs b/src/librustc/middle/trans/glue.rs
index bdf50619e62..4c5a17056b2 100644
--- a/src/librustc/middle/trans/glue.rs
+++ b/src/librustc/middle/trans/glue.rs
@@ -12,8 +12,6 @@
 //
 // Code relating to taking, dropping, etc as well as type descriptors.
 
-use core::prelude::*;
-
 use back::abi;
 use back::link::*;
 use driver::session;
@@ -35,9 +33,7 @@ use middle::ty;
 use util::ppaux;
 use util::ppaux::ty_to_short_str;
 
-use core::io;
 use core::libc::c_uint;
-use core::str;
 use std::time;
 use syntax::ast;
 
diff --git a/src/librustc/middle/trans/inline.rs b/src/librustc/middle/trans/inline.rs
index 6e8a782fd42..7a7f03c2273 100644
--- a/src/librustc/middle/trans/inline.rs
+++ b/src/librustc/middle/trans/inline.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use metadata::csearch;
 use middle::astencode;
 use middle::trans::base::{get_insn_ctxt};
@@ -19,7 +17,6 @@ use middle::trans::common::*;
 use middle::ty;
 use util::ppaux::ty_to_str;
 
-use core::vec;
 use syntax::ast;
 use syntax::ast_map::path_name;
 use syntax::ast_util::local_def;
diff --git a/src/librustc/middle/trans/machine.rs b/src/librustc/middle/trans/machine.rs
index cd90f964e45..3ae2421a555 100644
--- a/src/librustc/middle/trans/machine.rs
+++ b/src/librustc/middle/trans/machine.rs
@@ -10,8 +10,6 @@
 
 // Information concerning the machine representation of various types.
 
-use core::prelude::*;
-
 use lib::llvm::{ValueRef, TypeRef};
 use lib::llvm::False;
 use lib::llvm::llvm;
diff --git a/src/librustc/middle/trans/meth.rs b/src/librustc/middle/trans/meth.rs
index acb6353aa8b..44e9c0f6802 100644
--- a/src/librustc/middle/trans/meth.rs
+++ b/src/librustc/middle/trans/meth.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use back::abi;
 use lib::llvm::llvm;
 use lib::llvm::ValueRef;
diff --git a/src/librustc/middle/trans/monomorphize.rs b/src/librustc/middle/trans/monomorphize.rs
index db422d1b1bf..72ad6dde4f1 100644
--- a/src/librustc/middle/trans/monomorphize.rs
+++ b/src/librustc/middle/trans/monomorphize.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use back::link::mangle_exported_name;
 use driver::session;
 use lib::llvm::ValueRef;
@@ -32,7 +30,6 @@ use middle::ty::{FnSig};
 use middle::typeck;
 use util::ppaux::Repr;
 
-use core::vec;
 use syntax::ast;
 use syntax::ast_map;
 use syntax::ast_map::path_name;
diff --git a/src/librustc/middle/trans/reachable.rs b/src/librustc/middle/trans/reachable.rs
index 8d0a043a9a1..3ccef0dbc4a 100644
--- a/src/librustc/middle/trans/reachable.rs
+++ b/src/librustc/middle/trans/reachable.rs
@@ -20,7 +20,6 @@ use middle::resolve;
 use middle::ty;
 use middle::typeck;
 
-use core::prelude::*;
 use core::hashmap::HashSet;
 use syntax::ast;
 use syntax::ast::*;
diff --git a/src/librustc/middle/trans/type_of.rs b/src/librustc/middle/trans/type_of.rs
index 8cac00252d0..5bf01b9a883 100644
--- a/src/librustc/middle/trans/type_of.rs
+++ b/src/librustc/middle/trans/type_of.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use lib::llvm::llvm;
 use lib::llvm::{TypeRef};
 use middle::trans::adt;
@@ -19,7 +17,6 @@ use middle::trans::common;
 use middle::ty;
 use util::ppaux;
 
-use core::option::None;
 use syntax::ast;
 
 pub fn arg_is_indirect(ccx: @CrateContext, arg: &ty::arg) -> bool {
diff --git a/src/librustc/middle/trans/type_use.rs b/src/librustc/middle/trans/type_use.rs
index 4094c597bbb..dc3fb027dea 100644
--- a/src/librustc/middle/trans/type_use.rs
+++ b/src/librustc/middle/trans/type_use.rs
@@ -27,8 +27,6 @@
 // much information, but have the disadvantage of being very
 // invasive.)
 
-use core::prelude::*;
-
 use middle::freevars;
 use middle::trans::common::*;
 use middle::trans::inline;
diff --git a/src/librustc/middle/ty.rs b/src/librustc/middle/ty.rs
index 47c9c3bdb6b..edd3a295bf9 100644
--- a/src/librustc/middle/ty.rs
+++ b/src/librustc/middle/ty.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
 
 use driver::session;
 use metadata::csearch;
@@ -29,15 +28,8 @@ use util::ppaux::Repr;
 use util::common::{indenter};
 
 use core;
-use core::cast;
-use core::cmp;
-use core::ops;
 use core::ptr::to_unsafe_ptr;
-use core::result::Result;
-use core::result;
 use core::to_bytes;
-use core::uint;
-use core::vec;
 use core::hashmap::{HashMap, HashSet};
 use std::smallintmap::SmallIntMap;
 use syntax::ast::*;
diff --git a/src/librustc/middle/typeck/astconv.rs b/src/librustc/middle/typeck/astconv.rs
index f75ec183473..ac745dce36d 100644
--- a/src/librustc/middle/typeck/astconv.rs
+++ b/src/librustc/middle/typeck/astconv.rs
@@ -52,8 +52,6 @@
  * an rptr (`&r.T`) use the region `r` that appears in the rptr.
  */
 
-use core::prelude::*;
-
 use middle::const_eval;
 use middle::ty::{arg, substs};
 use middle::ty::{ty_param_substs_and_ty};
@@ -62,8 +60,6 @@ use middle::typeck::rscope::in_binding_rscope;
 use middle::typeck::rscope::{region_scope, RegionError};
 use middle::typeck::rscope::RegionParamNames;
 
-use core::result;
-use core::vec;
 use syntax::abi::AbiSet;
 use syntax::{ast, ast_util};
 use syntax::codemap::span;
diff --git a/src/librustc/middle/typeck/check/_match.rs b/src/librustc/middle/typeck/check/_match.rs
index c52989c5d22..7f0066a1aa2 100644
--- a/src/librustc/middle/typeck/check/_match.rs
+++ b/src/librustc/middle/typeck/check/_match.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use middle::pat_util::{PatIdMap, pat_id_map, pat_is_binding, pat_is_const};
 use middle::ty;
 use middle::typeck::check::demand;
@@ -19,7 +17,6 @@ use middle::typeck::check::{structure_of, valid_range_bounds};
 use middle::typeck::require_same_types;
 
 use core::hashmap::{HashMap, HashSet};
-use core::vec;
 use syntax::ast;
 use syntax::ast_util;
 use syntax::codemap::span;
diff --git a/src/librustc/middle/typeck/check/method.rs b/src/librustc/middle/typeck/check/method.rs
index e778986b2d1..40ad8bcb8b2 100644
--- a/src/librustc/middle/typeck/check/method.rs
+++ b/src/librustc/middle/typeck/check/method.rs
@@ -79,8 +79,6 @@ obtained the type `Foo`, we would never match this method.
 
 */
 
-use core::prelude::*;
-
 use middle::resolve;
 use middle::ty::*;
 use middle::ty;
@@ -96,9 +94,6 @@ use middle::typeck::check::regionmanip::replace_bound_regions_in_fn_sig;
 use util::common::indenter;
 
 use core::hashmap::HashSet;
-use core::result;
-use core::uint;
-use core::vec;
 use std::list::Nil;
 use syntax::ast::{def_id, sty_value, sty_region, sty_box};
 use syntax::ast::{sty_uniq, sty_static, node_id, by_copy, by_ref};
diff --git a/src/librustc/middle/typeck/check/mod.rs b/src/librustc/middle/typeck/check/mod.rs
index 536de78c752..e230495e568 100644
--- a/src/librustc/middle/typeck/check/mod.rs
+++ b/src/librustc/middle/typeck/check/mod.rs
@@ -76,8 +76,6 @@ type parameter).
 
 */
 
-use core::prelude::*;
-
 use middle::const_eval;
 use middle::pat_util::pat_id_map;
 use middle::pat_util;
@@ -110,11 +108,6 @@ use util::ppaux::{bound_region_to_str};
 use util::ppaux;
 
 use core::hashmap::HashMap;
-use core::ptr;
-use core::result::{Result, Ok, Err};
-use core::result;
-use core::str;
-use core::vec;
 use core::util::replace;
 use std::list::Nil;
 use syntax::abi::AbiSet;
diff --git a/src/librustc/middle/typeck/check/regionck.rs b/src/librustc/middle/typeck/check/regionck.rs
index cd10e1f9787..1cffd375f9b 100644
--- a/src/librustc/middle/typeck/check/regionck.rs
+++ b/src/librustc/middle/typeck/check/regionck.rs
@@ -27,8 +27,6 @@ this point a bit better.
 
 */
 
-use core::prelude::*;
-
 use middle::freevars::get_freevars;
 use middle::pat_util::pat_bindings;
 use middle::ty::{re_scope};
@@ -41,7 +39,6 @@ use middle::typeck::infer::resolve_type;
 use util::ppaux::{note_and_explain_region, ty_to_str,
                   region_to_str};
 
-use core::result;
 use syntax::ast::{ManagedSigil, OwnedSigil, BorrowedSigil};
 use syntax::ast::{def_arg, def_binding, def_local, def_self, def_upvar};
 use syntax::ast;
@@ -688,7 +685,6 @@ pub mod guarantor {
      * but more special purpose.
      */
 
-    use core::prelude::*;
     use middle::typeck::check::regionck::{Rcx, infallibly_mk_subr};
     use middle::ty;
     use syntax::ast;
diff --git a/src/librustc/middle/typeck/check/regionmanip.rs b/src/librustc/middle/typeck/check/regionmanip.rs
index 1abcefeefac..f293893bc13 100644
--- a/src/librustc/middle/typeck/check/regionmanip.rs
+++ b/src/librustc/middle/typeck/check/regionmanip.rs
@@ -10,8 +10,6 @@
 
 // #[warn(deprecated_mode)];
 
-use core::prelude::*;
-
 use middle::ty;
 
 use middle::typeck::isr_alist;
diff --git a/src/librustc/middle/typeck/check/vtable.rs b/src/librustc/middle/typeck/check/vtable.rs
index ad173c69560..44b62122612 100644
--- a/src/librustc/middle/typeck/check/vtable.rs
+++ b/src/librustc/middle/typeck/check/vtable.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use middle::resolve::Impl;
 use middle::ty::param_ty;
 use middle::ty;
@@ -25,9 +23,6 @@ use util::common::indenter;
 use util::ppaux::tys_to_str;
 use util::ppaux;
 
-use core::result::{Ok, Err};
-use core::result;
-use core::uint;
 use core::hashmap::HashSet;
 use syntax::ast;
 use syntax::ast_util;
diff --git a/src/librustc/middle/typeck/check/writeback.rs b/src/librustc/middle/typeck/check/writeback.rs
index 894b508b309..0b0f7515b6b 100644
--- a/src/librustc/middle/typeck/check/writeback.rs
+++ b/src/librustc/middle/typeck/check/writeback.rs
@@ -12,8 +12,6 @@
 // unresolved type variables and replaces "ty_var" types with their
 // substitutions.
 
-use core::prelude::*;
-
 use middle::pat_util;
 use middle::ty::arg;
 use middle::ty;
@@ -27,8 +25,6 @@ use middle::typeck::write_substs_to_tcx;
 use middle::typeck::write_ty_to_tcx;
 use util::ppaux;
 
-use core::result::{Ok, Err};
-use core::vec;
 use syntax::ast;
 use syntax::codemap::span;
 use syntax::print::pprust::pat_to_str;
diff --git a/src/librustc/middle/typeck/coherence.rs b/src/librustc/middle/typeck/coherence.rs
index 4225b5da418..73e4fe6a435 100644
--- a/src/librustc/middle/typeck/coherence.rs
+++ b/src/librustc/middle/typeck/coherence.rs
@@ -14,7 +14,6 @@
 // has at most one implementation for each type. Then we build a mapping from
 // each trait in the system to its implementations.
 
-use core::prelude::*;
 
 use driver;
 use metadata::csearch::{each_path, get_impl_traits};
diff --git a/src/librustc/middle/typeck/collect.rs b/src/librustc/middle/typeck/collect.rs
index 398e0fd4ac7..828dfbb45cf 100644
--- a/src/librustc/middle/typeck/collect.rs
+++ b/src/librustc/middle/typeck/collect.rs
@@ -30,8 +30,6 @@ are represented as `ty_param()` instances.
 
 */
 
-use core::prelude::*;
-
 use metadata::csearch;
 use middle::ty::{substs, ty_param_bounds_and_ty};
 use middle::ty;
@@ -46,7 +44,6 @@ use middle::typeck::{CrateCtxt, lookup_def_tcx, no_params, write_ty_to_tcx};
 use util::common::{indenter, pluralize};
 use util::ppaux;
 
-use core::vec;
 use syntax::abi::AbiSet;
 use syntax::ast::{RegionTyParamBound, TraitTyParamBound};
 use syntax::ast;
diff --git a/src/librustc/middle/typeck/infer/coercion.rs b/src/librustc/middle/typeck/infer/coercion.rs
index 43731c6a676..dcd1c861540 100644
--- a/src/librustc/middle/typeck/infer/coercion.rs
+++ b/src/librustc/middle/typeck/infer/coercion.rs
@@ -64,8 +64,6 @@ we may want to adjust precisely when coercions occur.
 
 */
 
-use core::prelude::*;
-
 use middle::ty::{AutoPtr, AutoBorrowVec, AutoBorrowFn};
 use middle::ty::{AutoDerefRef, AutoRef};
 use middle::ty::{vstore_slice, vstore_box, vstore_uniq};
diff --git a/src/librustc/middle/typeck/infer/combine.rs b/src/librustc/middle/typeck/infer/combine.rs
index 3f58a322472..58ad2fc1924 100644
--- a/src/librustc/middle/typeck/infer/combine.rs
+++ b/src/librustc/middle/typeck/infer/combine.rs
@@ -54,8 +54,6 @@
 // terms of error reporting, although we do not do that properly right
 // now.
 
-use core::prelude::*;
-
 use middle::ty::{FloatVar, FnSig, IntVar, TyVar};
 use middle::ty::{IntType, UintType, arg, substs};
 use middle::ty;
@@ -67,7 +65,6 @@ use middle::typeck::infer::{cres, InferCtxt, ures, IntType, UintType};
 use util::common::indent;
 
 use core::result::{iter_vec2, map_vec2};
-use core::vec;
 use syntax::ast::{Onceness, purity};
 use syntax::ast;
 use syntax::opt_vec;
diff --git a/src/librustc/middle/typeck/infer/glb.rs b/src/librustc/middle/typeck/infer/glb.rs
index 43f2b0eaf72..78b3b097ae3 100644
--- a/src/librustc/middle/typeck/infer/glb.rs
+++ b/src/librustc/middle/typeck/infer/glb.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use middle::ty::RegionVid;
 use middle::ty;
 use middle::typeck::infer::combine::*;
diff --git a/src/librustc/middle/typeck/infer/lattice.rs b/src/librustc/middle/typeck/infer/lattice.rs
index 52a938a34d3..b9344724f60 100644
--- a/src/librustc/middle/typeck/infer/lattice.rs
+++ b/src/librustc/middle/typeck/infer/lattice.rs
@@ -32,8 +32,6 @@
  * a lattice.
  */
 
-use core::prelude::*;
-
 use middle::ty::{RegionVid, TyVar, Vid};
 use middle::ty;
 use middle::typeck::isr_alist;
diff --git a/src/librustc/middle/typeck/infer/lub.rs b/src/librustc/middle/typeck/infer/lub.rs
index 7cf4d25c670..c79e530084f 100644
--- a/src/librustc/middle/typeck/infer/lub.rs
+++ b/src/librustc/middle/typeck/infer/lub.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use middle::ty::RegionVid;
 use middle::ty;
 use middle::typeck::infer::combine::*;
diff --git a/src/librustc/middle/typeck/infer/mod.rs b/src/librustc/middle/typeck/infer/mod.rs
index a4a48cf5b78..7b5a93d4cad 100644
--- a/src/librustc/middle/typeck/infer/mod.rs
+++ b/src/librustc/middle/typeck/infer/mod.rs
@@ -242,8 +242,6 @@ section on "Type Combining" below for details.
 
 */
 
-use core::prelude::*;
-
 pub use middle::ty::IntVarValue;
 pub use middle::typeck::infer::resolve::resolve_and_force_all_but_regions;
 pub use middle::typeck::infer::resolve::{force_all, not_regions};
@@ -267,10 +265,6 @@ use middle::typeck::isr_alist;
 use util::common::indent;
 use util::ppaux::{bound_region_to_str, ty_to_str, trait_ref_to_str};
 
-use core::cmp::Eq;
-use core::result::{Result, Ok, Err};
-use core::result;
-use core::vec;
 use std::list::Nil;
 use std::smallintmap::SmallIntMap;
 use syntax::ast::{m_imm, m_mutbl};
diff --git a/src/librustc/middle/typeck/infer/region_inference.rs b/src/librustc/middle/typeck/infer/region_inference.rs
index f34a990977e..e12a3f2e975 100644
--- a/src/librustc/middle/typeck/infer/region_inference.rs
+++ b/src/librustc/middle/typeck/infer/region_inference.rs
@@ -536,8 +536,6 @@ more convincing in the future.
 
 */
 
-use core::prelude::*;
-
 use middle::ty;
 use middle::ty::{FreeRegion, Region, RegionVid};
 use middle::ty::{re_static, re_infer, re_free, re_bound};
@@ -548,10 +546,7 @@ use util::ppaux::note_and_explain_region;
 
 use core::cell::{Cell, empty_cell};
 use core::hashmap::{HashMap, HashSet};
-use core::result::{Err, Ok};
 use core::to_bytes;
-use core::uint;
-use core::vec;
 use syntax::codemap::span;
 use syntax::ast;
 
diff --git a/src/librustc/middle/typeck/infer/resolve.rs b/src/librustc/middle/typeck/infer/resolve.rs
index 53b7b4f1958..9b648f6a053 100644
--- a/src/librustc/middle/typeck/infer/resolve.rs
+++ b/src/librustc/middle/typeck/infer/resolve.rs
@@ -46,8 +46,6 @@
 // future).  If you want to resolve everything but one type, you are
 // probably better off writing `resolve_all - resolve_ivar`.
 
-use core::prelude::*;
-
 use middle::ty::{FloatVar, FloatVid, IntVar, IntVid, RegionVid, TyVar, TyVid};
 use middle::ty::{type_is_bot, IntType, UintType};
 use middle::ty;
@@ -60,8 +58,6 @@ use util::ppaux::ty_to_str;
 
 use syntax::ast;
 
-use core::vec;
-
 pub static resolve_nested_tvar: uint = 0b0000000001;
 pub static resolve_rvar: uint        = 0b0000000010;
 pub static resolve_ivar: uint        = 0b0000000100;
diff --git a/src/librustc/middle/typeck/infer/sub.rs b/src/librustc/middle/typeck/infer/sub.rs
index 2e1be2c380f..b9541d4c066 100644
--- a/src/librustc/middle/typeck/infer/sub.rs
+++ b/src/librustc/middle/typeck/infer/sub.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use middle::ty;
 use middle::ty::TyVar;
 use middle::typeck::check::regionmanip::replace_bound_regions_in_fn_sig;
@@ -29,7 +27,6 @@ use syntax::ast;
 use syntax::ast::{Onceness, m_const, purity};
 use syntax::codemap::span;
 
-
 pub struct Sub(CombineFields);  // "subtype", "subregion" etc
 
 impl Combine for Sub {
diff --git a/src/librustc/middle/typeck/infer/test.rs b/src/librustc/middle/typeck/infer/test.rs
index bf607e2c362..7c992db6703 100644
--- a/src/librustc/middle/typeck/infer/test.rs
+++ b/src/librustc/middle/typeck/infer/test.rs
@@ -16,8 +16,6 @@ Note: This module is only compiled when doing unit testing.
 
 */
 
-use core::prelude::*;
-
 use driver::diagnostic;
 use driver::driver::{optgroups, build_session_options, build_session};
 use driver::driver::{str_input, build_configuration};
diff --git a/src/librustc/middle/typeck/infer/to_str.rs b/src/librustc/middle/typeck/infer/to_str.rs
index d4959961f12..779346c380c 100644
--- a/src/librustc/middle/typeck/infer/to_str.rs
+++ b/src/librustc/middle/typeck/infer/to_str.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use middle::ty::{FnSig, Vid};
 use middle::ty::IntVarValue;
 use middle::ty;
@@ -20,9 +18,6 @@ use util::ppaux::{mt_to_str, ty_to_str, trait_ref_to_str};
 
 use syntax::ast;
 
-use core::uint;
-use core::str;
-
 pub trait InferStr {
     fn inf_str(&self, cx: &InferCtxt) -> ~str;
 }
diff --git a/src/librustc/middle/typeck/infer/unify.rs b/src/librustc/middle/typeck/infer/unify.rs
index 220cc91dfdb..bc130744224 100644
--- a/src/librustc/middle/typeck/infer/unify.rs
+++ b/src/librustc/middle/typeck/infer/unify.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
 use std::smallintmap::SmallIntMap;
 
 use middle::ty::{Vid, expected_found, IntVarValue};
diff --git a/src/librustc/middle/typeck/mod.rs b/src/librustc/middle/typeck/mod.rs
index ad4938c9869..14ef3feb7d5 100644
--- a/src/librustc/middle/typeck/mod.rs
+++ b/src/librustc/middle/typeck/mod.rs
@@ -48,8 +48,6 @@ independently:
 
 */
 
-use core::prelude::*;
-
 use driver::session;
 
 use middle::resolve;
@@ -59,8 +57,6 @@ use util::ppaux::Repr;
 use util::ppaux;
 
 use core::hashmap::HashMap;
-use core::result;
-use core::vec;
 use std::list::List;
 use std::list;
 use syntax::codemap::span;
diff --git a/src/librustc/middle/typeck/rscope.rs b/src/librustc/middle/typeck/rscope.rs
index 869825e607e..65f5b910f37 100644
--- a/src/librustc/middle/typeck/rscope.rs
+++ b/src/librustc/middle/typeck/rscope.rs
@@ -8,12 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use middle::ty;
 
-use core::result::Result;
-use core::result;
 use syntax::ast;
 use syntax::codemap::span;
 use syntax::opt_vec::OptVec;
diff --git a/src/librustc/rustc.rc b/src/librustc/rustc.rc
index 573ba4ca411..54c51cf2e48 100644
--- a/src/librustc/rustc.rc
+++ b/src/librustc/rustc.rc
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
 #[link(name = "rustc",
        vers = "0.7-pre",
        uuid = "0ce89b41-2f92-459e-bbc1-8f5fe32f16cf",
@@ -23,13 +22,9 @@
 #[deny(deprecated_pattern)];
 #[deny(deprecated_mode)];
 
-#[no_core];
-
-extern mod core(vers = "0.7-pre");
 extern mod std(vers = "0.7-pre");
 extern mod syntax(vers = "0.7-pre");
 
-use core::prelude::*;
 
 use driver::driver::{host_triple, optgroups, early_error};
 use driver::driver::{str_input, file_input, build_session_options};
@@ -39,8 +34,6 @@ use driver::driver::{compile_input};
 use driver::session;
 use middle::lint;
 
-use core::io::ReaderUtil;
-use core::result::{Ok, Err};
 use std::getopts::{groups, opt_present};
 use std::getopts;
 use syntax::codemap;
diff --git a/src/librustc/util/common.rs b/src/librustc/util/common.rs
index 93deeecc101..38f55b2b6e4 100644
--- a/src/librustc/util/common.rs
+++ b/src/librustc/util/common.rs
@@ -8,14 +8,11 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use syntax::ast;
 use syntax::codemap::{span};
 use syntax::visit;
 
 use core::hashmap::HashSet;
-use core::str;
 use std;
 
 pub fn time<T>(do_it: bool, what: ~str, thunk: &fn() -> T) -> T {
diff --git a/src/librustc/util/ppaux.rs b/src/librustc/util/ppaux.rs
index c0c6fe2d9d3..f0ea91c9153 100644
--- a/src/librustc/util/ppaux.rs
+++ b/src/librustc/util/ppaux.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use middle::ty;
 use middle::typeck;
 use middle::ty::canon_mode;
@@ -33,9 +31,6 @@ use syntax::{ast, ast_util};
 use syntax::ast_map;
 use syntax::abi::AbiSet;
 
-use core::str;
-use core::vec;
-
 pub trait Repr {
     fn repr(&self, tcx: ctxt) -> ~str;
 }
diff --git a/src/librustdoc/astsrv.rs b/src/librustdoc/astsrv.rs
index 5e103d6848a..b8a66eb8f64 100644
--- a/src/librustdoc/astsrv.rs
+++ b/src/librustdoc/astsrv.rs
@@ -17,8 +17,6 @@ query AST-related information, shielding the rest of Rustdoc from its
 non-sendableness.
 */
 
-use core::prelude::*;
-
 use parse;
 
 use core::cell::Cell;
diff --git a/src/librustdoc/attr_parser.rs b/src/librustdoc/attr_parser.rs
index efd061209a5..5b97ccffc21 100644
--- a/src/librustdoc/attr_parser.rs
+++ b/src/librustdoc/attr_parser.rs
@@ -15,9 +15,6 @@ The attribute parser provides methods for pulling documentation out of
 an AST's attributes.
 */
 
-use core::prelude::*;
-
-use core::str;
 use syntax::ast;
 use syntax::attr;
 
@@ -74,7 +71,6 @@ mod test {
     use syntax::ast;
     use syntax;
     use super::{parse_hidden, parse_crate, parse_desc};
-    use core::prelude::*;
 
     fn parse_attributes(source: ~str) -> ~[ast::attribute] {
         use syntax::parse;
diff --git a/src/librustdoc/attr_pass.rs b/src/librustdoc/attr_pass.rs
index 49338291a7c..204f3073e9c 100644
--- a/src/librustdoc/attr_pass.rs
+++ b/src/librustdoc/attr_pass.rs
@@ -16,8 +16,6 @@ corresponding AST nodes. The information gathered here is the basis
 of the natural-language documentation for a crate.
 */
 
-use core::prelude::*;
-
 use astsrv;
 use attr_parser;
 use doc::ItemUtils;
@@ -27,7 +25,6 @@ use fold::Fold;
 use fold;
 use pass::Pass;
 
-use core::vec;
 use syntax::ast;
 use syntax::ast_map;
 
@@ -240,7 +237,6 @@ mod test {
     use attr_pass::run;
     use doc;
     use extract;
-    use core::prelude::*;
 
     fn mk_doc(source: ~str) -> doc::Doc {
         do astsrv::from_str(copy source) |srv| {
diff --git a/src/librustdoc/config.rs b/src/librustdoc/config.rs
index ed1a54c49a7..0644b57a0f4 100644
--- a/src/librustdoc/config.rs
+++ b/src/librustdoc/config.rs
@@ -8,14 +8,10 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
 
 use core::cell::Cell;
-use core::os;
-use core::result;
 use core::run;
 use core::run::ProgramOutput;
-use core::vec;
 use core::result::Result;
 use std::getopts;
 
@@ -246,7 +242,6 @@ pub fn maybe_find_pandoc(
 #[cfg(test)]
 mod test {
     use config::*;
-    use core::prelude::*;
     use core::run::ProgramOutput;
 
     fn parse_config(args: &[~str]) -> Result<Config, ~str> {
@@ -379,4 +374,4 @@ mod test {
         let config = parse_config(~[~"rustdoc", ~"crate.rc"]);
         assert!(config.get().pandoc_cmd == Some(~"pandoc"));
     }
-}
\ No newline at end of file
+}
diff --git a/src/librustdoc/demo.rs b/src/librustdoc/demo.rs
index c5fb8f289f6..7cbd92292c1 100644
--- a/src/librustdoc/demo.rs
+++ b/src/librustdoc/demo.rs
@@ -21,8 +21,6 @@
  * tests on this file
  */
 
-use core::prelude::*;
-
 /// The base price of a muffin on a non-holiday
 static price_of_a_muffin: float = 70f;
 
diff --git a/src/librustdoc/desc_to_brief_pass.rs b/src/librustdoc/desc_to_brief_pass.rs
index 5027b244355..40ff9b21829 100644
--- a/src/librustdoc/desc_to_brief_pass.rs
+++ b/src/librustdoc/desc_to_brief_pass.rs
@@ -15,8 +15,6 @@ If the first paragraph of a long description is short enough then it
 is interpreted as the brief description.
 */
 
-use core::prelude::*;
-
 use astsrv;
 use doc::ItemUtils;
 use doc;
@@ -24,8 +22,6 @@ use fold::Fold;
 use fold;
 use pass::Pass;
 
-use core::str;
-use core::vec;
 use core::util;
 
 pub fn mk_pass() -> Pass {
@@ -189,7 +185,6 @@ mod test {
     use super::{extract, paragraphs, run};
     use doc;
     use extract;
-    use core::prelude::*;
 
     fn mk_doc(source: ~str) -> doc::Doc {
         do astsrv::from_str(copy source) |srv| {
diff --git a/src/librustdoc/doc.rs b/src/librustdoc/doc.rs
index 2d5f60e714b..1656eb03098 100644
--- a/src/librustdoc/doc.rs
+++ b/src/librustdoc/doc.rs
@@ -10,12 +10,8 @@
 
 //! The document model
 
-use core::prelude::*;
-
 use doc;
 
-use core::vec;
-
 pub type AstId = int;
 
 #[deriving(Eq)]
diff --git a/src/librustdoc/extract.rs b/src/librustdoc/extract.rs
index fa3f7d64324..ce120f477a5 100644
--- a/src/librustdoc/extract.rs
+++ b/src/librustdoc/extract.rs
@@ -10,15 +10,11 @@
 
 //! Converts the Rust AST to the rustdoc document model
 
-use core::prelude::*;
-
 use astsrv;
 use doc::ItemUtils;
 use doc;
 
-use core::cast;
 use core::task::local_data::local_data_get;
-use core::vec;
 use syntax::ast;
 use syntax;
 
diff --git a/src/librustdoc/fold.rs b/src/librustdoc/fold.rs
index d2f97b66bb6..7c66b4f4d4e 100644
--- a/src/librustdoc/fold.rs
+++ b/src/librustdoc/fold.rs
@@ -8,14 +8,10 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use doc;
 #[cfg(test)] use extract;
 #[cfg(test)] use parse;
 
-use core::vec;
-
 pub struct Fold<T> {
     ctxt: T,
     fold_doc: FoldDoc<T>,
diff --git a/src/librustdoc/markdown_index_pass.rs b/src/librustdoc/markdown_index_pass.rs
index 631c86b74f1..d9e24453652 100644
--- a/src/librustdoc/markdown_index_pass.rs
+++ b/src/librustdoc/markdown_index_pass.rs
@@ -10,8 +10,6 @@
 
 //! Build indexes as appropriate for the markdown pass
 
-use core::prelude::*;
-
 use astsrv;
 use config;
 use doc::ItemUtils;
@@ -22,8 +20,6 @@ use markdown_pass;
 use markdown_writer;
 use pass::Pass;
 
-use core::str;
-
 pub fn mk_pass(config: config::Config) -> Pass {
     Pass {
         name: ~"markdown_index",
@@ -175,7 +171,6 @@ mod test {
     use markdown_index_pass::run;
     use path_pass;
     use super::pandoc_header_id;
-    use core::prelude::*;
 
     fn mk_doc(output_style: config::OutputStyle, source: ~str)
                -> doc::Doc {
diff --git a/src/librustdoc/markdown_pass.rs b/src/librustdoc/markdown_pass.rs
index 2dfc04e8ec7..3a8116b5ae6 100644
--- a/src/librustdoc/markdown_pass.rs
+++ b/src/librustdoc/markdown_pass.rs
@@ -10,8 +10,6 @@
 
 //! Generate markdown from a document tree
 
-use core::prelude::*;
-
 use astsrv;
 use doc::ItemUtils;
 use doc;
@@ -23,8 +21,6 @@ use pass::Pass;
 use sort_pass;
 
 use core::cell::Cell;
-use core::str;
-use core::vec;
 use syntax;
 
 pub fn mk_pass(writer_factory: WriterFactory) -> Pass {
@@ -522,7 +518,6 @@ mod test {
     use trim_pass;
     use tystr_pass;
     use unindent_pass;
-    use core::prelude::*;
 
     fn render(source: ~str) -> ~str {
         let (srv, doc) = create_doc_srv(source);
diff --git a/src/librustdoc/markdown_writer.rs b/src/librustdoc/markdown_writer.rs
index 13f598ce707..b9a2ee7ccb7 100644
--- a/src/librustdoc/markdown_writer.rs
+++ b/src/librustdoc/markdown_writer.rs
@@ -8,20 +8,12 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use config;
 use doc::ItemUtils;
 use doc;
 
-use core::io;
 use core::libc;
-use core::os;
-use core::comm;
-use core::result;
 use core::run;
-use core::str;
-use core::task;
 use core::comm::*;
 use std::future;
 
@@ -272,7 +264,6 @@ mod test {
     use path_pass;
     use config;
     use super::make_local_filename;
-    use core::prelude::*;
 
     fn mk_doc(name: ~str, source: ~str) -> doc::Doc {
         do astsrv::from_str(source) |srv| {
diff --git a/src/librustdoc/page_pass.rs b/src/librustdoc/page_pass.rs
index 93e7d8c808c..89a3acc6cac 100644
--- a/src/librustdoc/page_pass.rs
+++ b/src/librustdoc/page_pass.rs
@@ -15,8 +15,6 @@ Each page corresponds is a logical section. There may be pages for
 individual modules, pages for the crate, indexes, etc.
 */
 
-use core::prelude::*;
-
 use astsrv;
 use config;
 use doc::ItemUtils;
diff --git a/src/librustdoc/parse.rs b/src/librustdoc/parse.rs
index 455720f47ef..1f4133592f2 100644
--- a/src/librustdoc/parse.rs
+++ b/src/librustdoc/parse.rs
@@ -10,8 +10,6 @@
 
 //! AST-parsing helpers
 
-use core::prelude::*;
-
 use rustc::driver::driver::{file_input, str_input};
 use rustc::driver::driver;
 use rustc::driver::session;
diff --git a/src/librustdoc/pass.rs b/src/librustdoc/pass.rs
index 52d6e8d9cd6..94db038bdec 100644
--- a/src/librustdoc/pass.rs
+++ b/src/librustdoc/pass.rs
@@ -8,16 +8,12 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use astsrv;
 use doc;
 use time;
 
 #[cfg(test)] use extract;
 
-use core::vec;
-
 /// A single operation on the document model
 pub struct Pass {
     name: ~str,
diff --git a/src/librustdoc/path_pass.rs b/src/librustdoc/path_pass.rs
index dab60e0e0c0..629c6955566 100644
--- a/src/librustdoc/path_pass.rs
+++ b/src/librustdoc/path_pass.rs
@@ -10,8 +10,6 @@
 
 //! Records the full path to items
 
-use core::prelude::*;
-
 use astsrv;
 use doc::ItemUtils;
 use doc;
diff --git a/src/librustdoc/prune_private_pass.rs b/src/librustdoc/prune_private_pass.rs
index 0578169e257..210ca5cfe70 100644
--- a/src/librustdoc/prune_private_pass.rs
+++ b/src/librustdoc/prune_private_pass.rs
@@ -10,8 +10,6 @@
 
 //! Prune things that are private
 
-use core::prelude::*;
-
 use extract;
 use syntax::ast;
 use syntax::ast_map;
diff --git a/src/librustdoc/rustdoc.rc b/src/librustdoc/rustdoc.rc
index f0c42162e76..333ea5bce2f 100644
--- a/src/librustdoc/rustdoc.rc
+++ b/src/librustdoc/rustdoc.rc
@@ -19,11 +19,8 @@
 #[license = "MIT/ASL2"];
 #[crate_type = "lib"];
 
-#[no_core];
-
 #[allow(non_implicitly_copyable_typarams)];
 
-extern mod core(vers = "0.7-pre");
 extern mod std(vers = "0.7-pre");
 extern mod rustc(vers = "0.7-pre");
 extern mod syntax(vers = "0.7-pre");
diff --git a/src/librustdoc/sectionalize_pass.rs b/src/librustdoc/sectionalize_pass.rs
index 1cf43043004..c69f3b13e26 100644
--- a/src/librustdoc/sectionalize_pass.rs
+++ b/src/librustdoc/sectionalize_pass.rs
@@ -10,8 +10,6 @@
 
 //! Breaks rustdocs into sections according to their headers
 
-use core::prelude::*;
-
 use astsrv;
 use doc::ItemUtils;
 use doc;
@@ -19,8 +17,6 @@ use fold::Fold;
 use fold;
 use pass::Pass;
 
-use core::str;
-
 pub fn mk_pass() -> Pass {
     Pass {
         name: ~"sectionalize",
@@ -169,7 +165,6 @@ mod test {
     use doc;
     use extract;
     use sectionalize_pass::run;
-    use core::prelude::*;
 
     fn mk_doc(source: ~str) -> doc::Doc {
         do astsrv::from_str(copy source) |srv| {
diff --git a/src/librustdoc/text_pass.rs b/src/librustdoc/text_pass.rs
index 785428f0077..61768e37a83 100644
--- a/src/librustdoc/text_pass.rs
+++ b/src/librustdoc/text_pass.rs
@@ -10,8 +10,6 @@
 
 //! Generic pass for performing an operation on all descriptions
 
-use core::prelude::*;
-
 use astsrv;
 use doc::ItemUtils;
 use doc;
@@ -147,8 +145,6 @@ mod test {
     use sectionalize_pass;
     use text_pass::mk_pass;
 
-    use core::prelude::*;
-
     fn mk_doc(source: ~str) -> doc::Doc {
         do astsrv::from_str(copy source) |srv| {
             let doc = extract::from_srv(srv.clone(), ~"");
diff --git a/src/librustdoc/tystr_pass.rs b/src/librustdoc/tystr_pass.rs
index c0562d30639..303bdc53b69 100644
--- a/src/librustdoc/tystr_pass.rs
+++ b/src/librustdoc/tystr_pass.rs
@@ -10,8 +10,6 @@
 
 //! Pulls type information out of the AST and attaches it to the document
 
-use core::prelude::*;
-
 use astsrv;
 use doc::ItemUtils;
 use doc;
@@ -21,7 +19,6 @@ use fold::Fold;
 use fold;
 use pass::Pass;
 
-use core::vec;
 use syntax::ast;
 use syntax::print::pprust;
 use syntax::ast_map;
@@ -358,7 +355,6 @@ mod test {
     use doc;
     use extract;
     use tystr_pass::run;
-    use core::prelude::*;
 
     fn mk_doc(source: ~str) -> doc::Doc {
         do astsrv::from_str(copy source) |srv| {
diff --git a/src/librustdoc/unindent_pass.rs b/src/librustdoc/unindent_pass.rs
index 19877fea1fd..082c4dd1989 100644
--- a/src/librustdoc/unindent_pass.rs
+++ b/src/librustdoc/unindent_pass.rs
@@ -19,15 +19,9 @@ instances where the string containing the doc comment is opened in the
 middle of a line, and each of the following lines is indented.
 */
 
-use core::prelude::*;
-
 use pass::Pass;
 use text_pass;
 
-use core::str;
-use core::uint;
-use core::vec;
-
 pub fn mk_pass() -> Pass {
     text_pass::mk_pass(~"unindent", unindent)
 }
diff --git a/src/librustdoc/util.rs b/src/librustdoc/util.rs
index fe39ac6bc50..0368b8a0346 100644
--- a/src/librustdoc/util.rs
+++ b/src/librustdoc/util.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 // Just a named container for our op, so it can have impls
 pub struct NominalOp<T> {
     op: T
diff --git a/src/librusti/rusti.rc b/src/librusti/rusti.rc
index 53912e7c947..0749f20156f 100644
--- a/src/librusti/rusti.rc
+++ b/src/librusti/rusti.rc
@@ -18,18 +18,14 @@
 #[license = "MIT/ASL2"];
 #[crate_type = "lib"];
 
-#[no_core];
-
 #[allow(vecs_implicitly_copyable,
         non_implicitly_copyable_typarams)];
 
-extern mod core(vers = "0.7-pre");
 extern mod std(vers = "0.7-pre");
 extern mod rustc(vers = "0.7-pre");
 extern mod syntax(vers = "0.7-pre");
 
 use core::*;
-use core::io::{ReaderUtil, WriterUtil};
 use rustc::driver::{driver, session};
 use syntax::{ast, diagnostic};
 use syntax::ast_util::*;
diff --git a/src/librustpkg/path_util.rs b/src/librustpkg/path_util.rs
index 0ebc33cf5bc..0490f066f0b 100644
--- a/src/librustpkg/path_util.rs
+++ b/src/librustpkg/path_util.rs
@@ -10,9 +10,6 @@
 
 // rustpkg utilities having to do with paths and directories
 
-use core::path::*;
-use core::{os, str};
-use core::option::*;
 use util::PkgId;
 use core::libc::consts::os::posix88::{S_IRUSR, S_IWUSR, S_IXUSR};
 
diff --git a/src/librustpkg/rustpkg.rc b/src/librustpkg/rustpkg.rc
index e1edce6ce5b..a296f0ca32a 100644
--- a/src/librustpkg/rustpkg.rc
+++ b/src/librustpkg/rustpkg.rc
@@ -17,20 +17,16 @@
 
 #[license = "MIT/ASL2"];
 #[crate_type = "lib"];
-#[no_core];
 #[allow(vecs_implicitly_copyable,
         non_implicitly_copyable_typarams)];
 
-extern mod core(vers = "0.7-pre");
 extern mod std(vers = "0.7-pre");
 extern mod rustc(vers = "0.7-pre");
 extern mod syntax(vers = "0.7-pre");
 
 use core::*;
 pub use core::path::Path;
-use core::container::Map;
 use core::hashmap::HashMap;
-use core::io::WriterUtil;
 use rustc::driver::{driver, session};
 use rustc::metadata::filesearch;
 use std::{getopts};
diff --git a/src/librustpkg/tests.rs b/src/librustpkg/tests.rs
index 70c03c845ce..49cc875355b 100644
--- a/src/librustpkg/tests.rs
+++ b/src/librustpkg/tests.rs
@@ -13,9 +13,6 @@
 use context::Ctx;
 use core::hashmap::HashMap;
 use core::path::Path;
-use core::os;
-use core::io;
-use core::option::*;
 use std::tempfile::mkdtemp;
 use util::{PkgId, default_version};
 use path_util::{target_executable_in_workspace, target_library_in_workspace,
@@ -101,4 +98,4 @@ fn test_install_invalid() {
         fail!(~"test_install_invalid failed, should have raised a condition");
     };
     assert!(substituted == expected_path);
-}
\ No newline at end of file
+}
diff --git a/src/libstd/arc.rs b/src/libstd/arc.rs
index 33aa6171de4..f45fb4e7658 100644
--- a/src/libstd/arc.rs
+++ b/src/libstd/arc.rs
@@ -17,7 +17,6 @@ use sync;
 use sync::{Mutex, mutex_with_condvars, RWlock, rwlock_with_condvars};
 
 use core::cast;
-use core::prelude::*;
 use core::unstable::{SharedMutableState, shared_mutable_state};
 use core::unstable::{clone_shared_mutable_state};
 use core::unstable::{get_shared_mutable_state, get_shared_immutable_state};
@@ -478,7 +477,6 @@ pub impl<'self, T:Const + Owned> RWReadMode<'self, T> {
 
 #[cfg(test)]
 mod tests {
-    use core::prelude::*;
 
     use arc::*;
     use arc;
diff --git a/src/libstd/arena.rs b/src/libstd/arena.rs
index 6b536ff6b46..8e2c7345045 100644
--- a/src/libstd/arena.rs
+++ b/src/libstd/arena.rs
@@ -39,7 +39,6 @@ use core::at_vec;
 use core::cast::transmute;
 use core::cast;
 use core::libc::size_t;
-use core::prelude::*;
 use core::ptr;
 use core::sys::TypeDesc;
 use core::sys;
diff --git a/src/libstd/bitv.rs b/src/libstd/bitv.rs
index 8bfa2013950..5314c35419c 100644
--- a/src/libstd/bitv.rs
+++ b/src/libstd/bitv.rs
@@ -8,12 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::container::{Container, Mutable, Set};
-use core::ops;
-use core::prelude::*;
-use core::uint;
 use core::vec::from_elem;
-use core::vec;
 
 struct SmallBitv {
     /// only the lowest nbits of this value are used. the rest is undefined.
@@ -867,7 +862,6 @@ priv impl BitvSet {
 
 #[cfg(test)]
 mod tests {
-    use core::prelude::*;
     use std::test::BenchHarness;
 
     use bitv::*;
diff --git a/src/libstd/c_vec.rs b/src/libstd/c_vec.rs
index dd85e886b1e..b4b4e2bf1a2 100644
--- a/src/libstd/c_vec.rs
+++ b/src/libstd/c_vec.rs
@@ -36,10 +36,6 @@
  * still held if needed.
  */
 
-use core::option;
-use core::prelude::*;
-use core::ptr;
-
 /**
  * The type representing a foreign chunk of memory
  *
@@ -146,7 +142,6 @@ pub fn ptr<T>(t: CVec<T>) -> *mut T { t.base }
 
 #[cfg(test)]
 mod tests {
-    use core::prelude::*;
 
     use c_vec::*;
 
diff --git a/src/libstd/comm.rs b/src/libstd/comm.rs
index 0e0347406ae..d866ee6cedb 100644
--- a/src/libstd/comm.rs
+++ b/src/libstd/comm.rs
@@ -17,7 +17,6 @@ Higher level communication abstractions.
 use core::comm::{GenericChan, GenericSmartChan, GenericPort};
 use core::comm::{Chan, Port, Selectable, Peekable};
 use core::pipes;
-use core::prelude::*;
 
 /// An extension of `pipes::stream` that allows both sending and receiving.
 pub struct DuplexStream<T, U> {
diff --git a/src/libstd/deque.rs b/src/libstd/deque.rs
index b120e40ec25..5d52bb7c081 100644
--- a/src/libstd/deque.rs
+++ b/src/libstd/deque.rs
@@ -10,10 +10,6 @@
 
 //! A double-ended queue implemented as a circular buffer
 
-use core::container::{Container, Mutable};
-use core::prelude::*;
-use core::vec;
-
 static initial_capacity: uint = 32u; // 2^5
 
 pub struct Deque<T> {
diff --git a/src/libstd/dlist.rs b/src/libstd/dlist.rs
index e736273a5ee..5fdc467cfa2 100644
--- a/src/libstd/dlist.rs
+++ b/src/libstd/dlist.rs
@@ -18,7 +18,6 @@ Do not use ==, !=, <, etc on doubly-linked lists -- it may not terminate.
 
 */
 
-use core::prelude::*;
 use core::managed;
 
 pub type DListLink<T> = Option<@mut DListNode<T>>;
@@ -534,7 +533,6 @@ impl<T> BaseIter<T> for @mut DList<T> {
 #[cfg(test)]
 mod tests {
     use super::*;
-    use core::prelude::*;
 
     #[test]
     fn test_dlist_concat() {
diff --git a/src/libstd/ebml.rs b/src/libstd/ebml.rs
index 7b479bc7578..2598e96a141 100644
--- a/src/libstd/ebml.rs
+++ b/src/libstd/ebml.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 // Simple Extensible Binary Markup Language (ebml) reader and writer on a
 // cursor model. See the specification here:
 //     http://www.matroska.org/technical/specs/rfc/index.html
@@ -62,7 +60,6 @@ pub mod reader {
     use core::cast::transmute;
     use core::int;
     use core::io;
-    use core::prelude::*;
     use core::ptr::offset;
     use core::str;
     use core::unstable::intrinsics::bswap32;
diff --git a/src/libstd/fileinput.rs b/src/libstd/fileinput.rs
index 4ac3e0b1747..a24b11d71c6 100644
--- a/src/libstd/fileinput.rs
+++ b/src/libstd/fileinput.rs
@@ -96,7 +96,6 @@ total line count).
 
 #[allow(deprecated_mutable_fields)];
 
-use core::prelude::*;
 use core::io::ReaderUtil;
 
 /**
@@ -410,7 +409,6 @@ pub fn input_vec_state(files: ~[Option<Path>],
 #[cfg(test)]
 mod test {
     use core::io::WriterUtil;
-    use core::prelude::*;
     use super::{FileInput, pathify, input_vec, input_vec_state};
 
     fn make_file(path : &Path, contents: &[~str]) {
diff --git a/src/libstd/flatpipes.rs b/src/libstd/flatpipes.rs
index 56c67156d3d..bd0acb849fc 100644
--- a/src/libstd/flatpipes.rs
+++ b/src/libstd/flatpipes.rs
@@ -51,7 +51,6 @@ block the scheduler thread, so will their pipes.
 use core::io;
 use core::comm::GenericChan;
 use core::comm::GenericPort;
-use core::prelude::*;
 use core::sys::size_of;
 use core::vec;
 
@@ -177,7 +176,6 @@ pub mod pod {
     use core::io::{Reader, Writer};
     use core::comm::{Port, Chan};
     use core::comm;
-    use core::prelude::*;
 
     pub type ReaderPort<T, R> =
         FlatPort<T, PodUnflattener<T>, ReaderBytePort<R>>;
@@ -341,7 +339,6 @@ pub mod flatteners {
 
     use core::cast;
     use core::io::{Writer, Reader, ReaderUtil};
-    use core::prelude::*;
     use core::ptr;
     use core::sys::size_of;
     use core::vec;
@@ -504,7 +501,6 @@ pub mod bytepipes {
 
     use core::io::{Writer, Reader, ReaderUtil};
     use core::comm::{Port, Chan};
-    use core::prelude::*;
 
     pub struct ReaderBytePort<R> {
         reader: R
@@ -626,8 +622,6 @@ pub mod bytepipes {
 
 #[cfg(test)]
 mod test {
-    use core::prelude::*;
-
     use flatpipes::{Flattener, Unflattener};
     use flatpipes::bytepipes::*;
     use flatpipes::pod;
@@ -636,11 +630,7 @@ mod test {
     use flatpipes::{BytePort, FlatChan, FlatPort};
     use net::tcp::TcpSocketBuf;
 
-    use core::int;
     use core::io::BytesWriter;
-    use core::prelude::*;
-    use core::result;
-    use core::task;
 
     #[test]
     fn test_serializing_memory_stream() {
@@ -805,7 +795,6 @@ mod test {
         // Client task
         let addr = copy addr0;
         do task::spawn || {
-
             // Wait for the server to start listening
             begin_connect_port.recv();
 
@@ -858,17 +847,11 @@ mod test {
     // Tests that the different backends behave the same when the
     // binary streaming protocol is broken
     mod broken_protocol {
-        use core::prelude::*;
-
         use flatpipes::{BytePort, FlatPort};
         use flatpipes::flatteners::PodUnflattener;
         use flatpipes::pod;
         use io_util::BufReader;
 
-        use core::io;
-        use core::sys;
-        use core::task;
-
         type PortLoader<P> =
             ~fn(~[u8]) -> FlatPort<int, PodUnflattener<int>, P>;
 
diff --git a/src/libstd/fun_treemap.rs b/src/libstd/fun_treemap.rs
index 735f86b34ec..3bffeddbe09 100644
--- a/src/libstd/fun_treemap.rs
+++ b/src/libstd/fun_treemap.rs
@@ -21,7 +21,6 @@
 
 use core::cmp::{Eq, Ord};
 use core::option::{Some, None};
-use core::prelude::*;
 
 pub type Treemap<K, V> = @TreeNode<K, V>;
 
diff --git a/src/libstd/future.rs b/src/libstd/future.rs
index a36f67fc95a..264f3072cb1 100644
--- a/src/libstd/future.rs
+++ b/src/libstd/future.rs
@@ -25,7 +25,6 @@ use core::cast;
 use core::cell::Cell;
 use core::comm::{oneshot, PortOne, send_one};
 use core::pipes::recv;
-use core::prelude::*;
 use core::task;
 
 #[doc = "The future type"]
@@ -173,7 +172,6 @@ pub fn spawn<A:Owned>(blk: ~fn() -> A) -> Future<A> {
 #[allow(non_implicitly_copyable_typarams)]
 #[cfg(test)]
 mod test {
-    use core::prelude::*;
 
     use future::*;
 
diff --git a/src/libstd/getopts.rs b/src/libstd/getopts.rs
index d710a7b8735..fda5c105da5 100644
--- a/src/libstd/getopts.rs
+++ b/src/libstd/getopts.rs
@@ -79,7 +79,6 @@
  */
 
 use core::cmp::Eq;
-use core::prelude::*;
 use core::result::{Err, Ok};
 use core::result;
 use core::option::{Some, None};
@@ -461,7 +460,6 @@ pub mod groups {
     use getopts::{HasArg, Long, Maybe, Multi, No, Occur, Opt, Optional, Req};
     use getopts::{Short, Yes};
 
-    use core::prelude::*;
     use core::str;
     use core::vec;
 
@@ -654,7 +652,6 @@ pub mod groups {
 
 #[cfg(test)]
 mod tests {
-    use core::prelude::*;
 
     use getopts::groups::OptGroup;
     use getopts::*;
diff --git a/src/libstd/json.rs b/src/libstd/json.rs
index f5cd8b4bd68..7353bec7333 100644
--- a/src/libstd/json.rs
+++ b/src/libstd/json.rs
@@ -14,7 +14,6 @@
 
 //! json serialization
 
-use core::prelude::*;
 use core::io::{WriterUtil, ReaderUtil};
 use core::hashmap::HashMap;
 
@@ -1266,7 +1265,6 @@ impl to_str::ToStr for Error {
 mod tests {
     use super::*;
 
-    use core::prelude::*;
     use core::hashmap::HashMap;
 
     use std::serialize::Decodable;
diff --git a/src/libstd/list.rs b/src/libstd/list.rs
index 8e173ff8a9c..401cc121a62 100644
--- a/src/libstd/list.rs
+++ b/src/libstd/list.rs
@@ -10,11 +10,6 @@
 
 //! A standard linked list
 
-use core::cmp::Eq;
-use core::option::*;
-use core::prelude::*;
-use core::vec;
-
 #[deriving(Eq)]
 pub enum List<T> {
     Cons(T, @List<T>),
diff --git a/src/libstd/net_ip.rs b/src/libstd/net_ip.rs
index e58b17b8321..aa1903e4a21 100644
--- a/src/libstd/net_ip.rs
+++ b/src/libstd/net_ip.rs
@@ -11,7 +11,6 @@
 //! Types/fns concerning Internet Protocol (IP), versions 4 & 6
 
 use core::libc;
-use core::prelude::*;
 use core::comm::{stream, SharedChan};
 use core::ptr;
 use core::result;
@@ -152,7 +151,6 @@ pub mod v4 {
     use uv_ip4_addr = uv::ll::ip4_addr;
     use uv_ip4_name = uv::ll::ip4_name;
 
-    use core::prelude::*;
     use core::ptr;
     use core::result;
     use core::str;
@@ -252,7 +250,6 @@ pub mod v6 {
     use uv_ip6_addr = uv::ll::ip6_addr;
     use uv_ip6_name = uv::ll::ip6_name;
 
-    use core::prelude::*;
     use core::result;
     use core::str;
 
@@ -364,7 +361,6 @@ extern fn get_addr_cb(handle: *uv_getaddrinfo_t, status: libc::c_int,
 
 #[cfg(test)]
 mod test {
-    use core::prelude::*;
 
     use net_ip::*;
     use net_ip::v4;
diff --git a/src/libstd/net_tcp.rs b/src/libstd/net_tcp.rs
index ef4932d667a..ee109047cb1 100644
--- a/src/libstd/net_tcp.rs
+++ b/src/libstd/net_tcp.rs
@@ -24,7 +24,6 @@ use core::io;
 use core::libc::size_t;
 use core::libc;
 use core::comm::{stream, Port, SharedChan};
-use core::prelude::*;
 use core::ptr;
 use core::result::{Result};
 use core::result;
@@ -1449,7 +1448,6 @@ mod test {
 
     use core::io;
     use core::comm::{stream, SharedChan};
-    use core::prelude::*;
     use core::result;
     use core::str;
     use core::task;
diff --git a/src/libstd/net_url.rs b/src/libstd/net_url.rs
index 4cb9a98036b..f3b11c13279 100644
--- a/src/libstd/net_url.rs
+++ b/src/libstd/net_url.rs
@@ -16,7 +16,6 @@ use core::cmp::Eq;
 use core::from_str::FromStr;
 use core::io::{Reader, ReaderUtil};
 use core::io;
-use core::prelude::*;
 use core::hashmap::HashMap;
 use core::str;
 use core::to_bytes::IterBytes;
@@ -803,7 +802,6 @@ fn test_get_path() {
 
 #[cfg(test)]
 mod tests {
-    use core::prelude::*;
 
     use net_url::*;
 
diff --git a/src/libstd/num/complex.rs b/src/libstd/num/complex.rs
index fc17cbc678e..02393b15cca 100644
--- a/src/libstd/num/complex.rs
+++ b/src/libstd/num/complex.rs
@@ -12,7 +12,6 @@
 //! Complex numbers.
 
 use core::num::{Zero,One,ToStrRadix};
-use core::prelude::*;
 
 // FIXME #1284: handle complex NaN & infinity etc. This
 // probably doesn't map to C's _Complex correctly.
@@ -162,7 +161,6 @@ impl<T: ToStrRadix + Num + Ord> ToStrRadix for Cmplx<T> {
 
 #[cfg(test)]
 mod test {
-    use core::prelude::*;
     use super::*;
     use core::num::{Zero,One};
 
diff --git a/src/libstd/num/rational.rs b/src/libstd/num/rational.rs
index 93b63593a5e..34308988fa5 100644
--- a/src/libstd/num/rational.rs
+++ b/src/libstd/num/rational.rs
@@ -13,9 +13,6 @@
 
 use core::num::{Zero,One,ToStrRadix,FromStrRadix,Round};
 use core::from_str::FromStr;
-use core::to_str::ToStr;
-use core::prelude::*;
-use core::cmp::TotalEq;
 use super::bigint::BigInt;
 
 /// Represents the ratio between 2 numbers.
@@ -299,7 +296,6 @@ impl<T: FromStrRadix + Copy + Num + Ord>
 
 #[cfg(test)]
 mod test {
-    use core::prelude::*;
     use super::*;
     use core::num::{Zero,One,FromStrRadix};
     use core::from_str::FromStr;
diff --git a/src/libstd/par.rs b/src/libstd/par.rs
index 3992cc41961..cfedbb66caa 100644
--- a/src/libstd/par.rs
+++ b/src/libstd/par.rs
@@ -8,16 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::cast;
-use core::prelude::*;
-use core::ptr;
-use core::sys;
-use core::uint;
-use core::vec;
-
 use future_spawn = future::spawn;
 
-
 /**
  * The maximum number of tasks this module will spawn for a single
  * operation.
diff --git a/src/libstd/priority_queue.rs b/src/libstd/priority_queue.rs
index c8d250f90f6..08a58125d7e 100644
--- a/src/libstd/priority_queue.rs
+++ b/src/libstd/priority_queue.rs
@@ -10,12 +10,8 @@
 
 //! A priority queue implemented with a binary heap
 
-use core::container::{Container, Mutable};
-use core::cmp::Ord;
 use core::iter::BaseIter;
-use core::prelude::*;
 use core::ptr::addr_of;
-use core::vec;
 
 #[abi = "rust-intrinsic"]
 extern "rust-intrinsic" mod rusti {
diff --git a/src/libstd/rl.rs b/src/libstd/rl.rs
index 9f9f2323d27..b2407be0b99 100644
--- a/src/libstd/rl.rs
+++ b/src/libstd/rl.rs
@@ -12,9 +12,6 @@
 // state without mutexes.
 
 use core::libc::{c_char, c_int};
-use core::prelude::*;
-use core::str;
-use core::task;
 
 pub mod rustrt {
     use core::libc::{c_char, c_int};
diff --git a/src/libstd/rope.rs b/src/libstd/rope.rs
index a5793462327..1292d2a8585 100644
--- a/src/libstd/rope.rs
+++ b/src/libstd/rope.rs
@@ -33,8 +33,6 @@
  * * access to a character by index is logarithmic (linear in strings);
  */
 
-use core::prelude::*;
-
 /// The type of ropes.
 pub type Rope = node::Root;
 
@@ -443,7 +441,6 @@ pub mod iterator {
     pub mod leaf {
         use rope::{Rope, node};
 
-        use core::prelude::*;
 
         pub fn start(rope: Rope) -> node::leaf_iterator::T {
             match (rope) {
@@ -458,7 +455,6 @@ pub mod iterator {
     pub mod char {
         use rope::{Rope, node};
 
-        use core::prelude::*;
 
         pub fn start(rope: Rope) -> node::char_iterator::T {
             match (rope) {
@@ -554,8 +550,6 @@ pub fn char_at(rope: Rope, pos: uint) -> char {
 pub mod node {
     use rope::node;
 
-    use core::prelude::*;
-
     /// Implementation of type `rope`
     pub enum Root {
         /// An empty rope
@@ -1135,8 +1129,6 @@ pub mod node {
     pub mod leaf_iterator {
         use rope::node::{Concat, Leaf, Node, height};
 
-        use core::prelude::*;
-
         pub struct T {
             stack: ~[@Node],
             stackpos: int,
@@ -1177,8 +1169,6 @@ pub mod node {
         use rope::node::{Leaf, Node};
         use rope::node::leaf_iterator;
 
-        use core::prelude::*;
-
         pub struct T {
             leaf_iterator: leaf_iterator::T,
             leaf:  Option<Leaf>,
diff --git a/src/libstd/serialize.rs b/src/libstd/serialize.rs
index e4e53b9b614..1ad581ba993 100644
--- a/src/libstd/serialize.rs
+++ b/src/libstd/serialize.rs
@@ -16,7 +16,6 @@ Core encoding and decoding interfaces.
 
 #[forbid(non_camel_case_types)];
 
-use core::prelude::*;
 use core::hashmap::{HashMap, HashSet};
 use core::trie::{TrieMap, TrieSet};
 use deque::Deque;
diff --git a/src/libstd/smallintmap.rs b/src/libstd/smallintmap.rs
index d50804ba47b..487a5598d6f 100644
--- a/src/libstd/smallintmap.rs
+++ b/src/libstd/smallintmap.rs
@@ -16,7 +16,6 @@
 use core::container::{Container, Mutable, Map, Set};
 use core::iter::{BaseIter};
 use core::option::{Some, None};
-use core::prelude::*;
 
 pub struct SmallIntMap<T> {
     priv v: ~[Option<T>],
@@ -243,7 +242,6 @@ pub impl<V:Copy> SmallIntMap<V> {
 #[cfg(test)]
 mod tests {
     use super::SmallIntMap;
-    use core::prelude::*;
 
     #[test]
     fn test_find_mut() {
diff --git a/src/libstd/sort.rs b/src/libstd/sort.rs
index cc002bc8305..3e6011e80df 100644
--- a/src/libstd/sort.rs
+++ b/src/libstd/sort.rs
@@ -11,7 +11,6 @@
 //! Sorting methods
 
 use core::cmp::{Eq, Ord};
-use core::prelude::*;
 use core::util;
 use core::vec::len;
 use core::vec;
@@ -836,7 +835,6 @@ mod test_qsort {
 
 #[cfg(test)]
 mod tests {
-    use core::prelude::*;
 
     use sort::*;
 
@@ -905,7 +903,6 @@ mod tests {
 
 #[cfg(test)]
 mod test_tim_sort {
-    use core::prelude::*;
     use sort::tim_sort;
     use core::rand::RngUtil;
 
@@ -995,7 +992,6 @@ mod test_tim_sort {
 
 #[cfg(test)]
 mod big_tests {
-    use core::prelude::*;
     use sort::*;
     use core::rand::RngUtil;
 
diff --git a/src/libstd/std.rc b/src/libstd/std.rc
index 07c679409cf..0a5348d7976 100644
--- a/src/libstd/std.rc
+++ b/src/libstd/std.rc
@@ -30,11 +30,6 @@ not required in or otherwise suitable for the core library.
 #[deny(non_camel_case_types)];
 #[allow(deprecated_mutable_fields)];
 
-#[no_core];
-
-extern mod core(vers = "0.7-pre");
-use core::prelude::*;
-
 pub mod uv_ll;
 
 // General io and system-services modules
diff --git a/src/libstd/sync.rs b/src/libstd/sync.rs
index 2497064ae04..58e5352890f 100644
--- a/src/libstd/sync.rs
+++ b/src/libstd/sync.rs
@@ -15,7 +15,6 @@
  * in std.
  */
 
-use core::prelude::*;
 use core::unstable::{Exclusive, exclusive};
 use core::ptr;
 use core::task;
@@ -713,7 +712,6 @@ pub impl<'self> RWlockReadMode<'self> {
 
 #[cfg(test)]
 mod tests {
-    use core::prelude::*;
 
     use sync::*;
 
diff --git a/src/libstd/task_pool.rs b/src/libstd/task_pool.rs
index 3f2772942a5..82053602755 100644
--- a/src/libstd/task_pool.rs
+++ b/src/libstd/task_pool.rs
@@ -12,7 +12,6 @@
 /// parallelism.
 
 use core::comm::Chan;
-use core::prelude::*;
 use core::task::SchedMode;
 use core::task;
 use core::vec;
diff --git a/src/libstd/tempfile.rs b/src/libstd/tempfile.rs
index c9bcb3b8952..846a9aec153 100644
--- a/src/libstd/tempfile.rs
+++ b/src/libstd/tempfile.rs
@@ -10,7 +10,6 @@
 
 //! Temporary files and directories
 
-use core::prelude::*;
 use core::rand::RngUtil;
 
 pub fn mkdtemp(tmpdir: &Path, suffix: &str) -> Option<Path> {
diff --git a/src/libstd/test.rs b/src/libstd/test.rs
index f82cc25e0f6..278a326d1de 100644
--- a/src/libstd/test.rs
+++ b/src/libstd/test.rs
@@ -21,7 +21,6 @@ use term;
 
 use core::to_str::ToStr;
 use core::comm::{stream, SharedChan};
-use core::prelude::*;
 
 pub mod rustrt {
     use core::libc::size_t;
@@ -597,7 +596,6 @@ pub mod bench {
     use time::precise_time_ns;
     use test::{BenchHarness, BenchSamples};
     use stats::Stats;
-    use core::prelude::*;
     use core::rand::RngUtil;
 
     pub impl BenchHarness {
diff --git a/src/libstd/time.rs b/src/libstd/time.rs
index a763aa1592e..8889abe6472 100644
--- a/src/libstd/time.rs
+++ b/src/libstd/time.rs
@@ -8,15 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::cmp::{Eq, Ord};
-use core::int;
-use core::i32;
-use core::io::{Reader, ReaderUtil};
-use core::io;
-use core::prelude::*;
-use core::result::{Result, Ok, Err};
-use core::str;
-
 static NSEC_PER_SEC: i32 = 1_000_000_000_i32;
 
 pub mod rustrt {
diff --git a/src/libstd/timer.rs b/src/libstd/timer.rs
index 1e48ce5aa6f..a36a6da4653 100644
--- a/src/libstd/timer.rs
+++ b/src/libstd/timer.rs
@@ -14,13 +14,10 @@ use uv;
 use uv::iotask;
 use uv::iotask::IoTask;
 
-use core::either;
 use core::libc;
 use core::libc::c_void;
 use core::cast::transmute;
 use core::comm::{stream, Chan, SharedChan, Port, select2i};
-use core::prelude::*;
-use core::ptr;
 
 /**
  * Wait for timeout period then send provided value over a channel
@@ -171,7 +168,6 @@ extern fn delayed_send_close_cb(handle: *uv::ll::uv_timer_t) {
 
 #[cfg(test)]
 mod test {
-    use core::prelude::*;
 
     use timer::*;
     use uv;
diff --git a/src/libstd/treemap.rs b/src/libstd/treemap.rs
index 020f4daefd9..51695f2fa7d 100644
--- a/src/libstd/treemap.rs
+++ b/src/libstd/treemap.rs
@@ -12,7 +12,6 @@
 //! trees. The only requirement for the types is that the key implements
 //! `TotalOrd`.
 
-use core::prelude::*;
 use core::iterator::*;
 
 // This is implemented as an AA tree, which is a simplified variation of
@@ -694,7 +693,6 @@ fn remove<K: TotalOrd, V>(node: &mut Option<~TreeNode<K, V>>,
 
 #[cfg(test)]
 mod test_treemap {
-    use core::prelude::*;
     use core::iterator::*;
     use super::*;
     use core::rand::RngUtil;
@@ -1013,7 +1011,6 @@ mod test_treemap {
 
 #[cfg(test)]
 mod test_set {
-    use core::prelude::*;
     use core::iterator::*;
     use super::*;
 
diff --git a/src/libstd/uv_global_loop.rs b/src/libstd/uv_global_loop.rs
index ac762d7d801..a9016697031 100644
--- a/src/libstd/uv_global_loop.rs
+++ b/src/libstd/uv_global_loop.rs
@@ -13,11 +13,9 @@
 use iotask = uv_iotask;
 use uv_iotask::{IoTask, spawn_iotask};
 
-use core::clone::Clone;
 use core::comm::Chan;
 use core::option::{Some, None};
 use core::task::task;
-use core::task;
 use core::unstable::global::{global_data_clone_create, global_data_clone};
 use core::unstable::weak_task::weaken_task;
 
@@ -115,7 +113,6 @@ fn spawn_loop() -> IoTask {
 
 #[cfg(test)]
 mod test {
-    use core::prelude::*;
 
     use get_gl = uv_global_loop::get;
     use uv::iotask;
diff --git a/src/libstd/uv_iotask.rs b/src/libstd/uv_iotask.rs
index 7e1c9d858ce..f03c60757f3 100644
--- a/src/libstd/uv_iotask.rs
+++ b/src/libstd/uv_iotask.rs
@@ -20,9 +20,7 @@ use ll = uv_ll;
 use core::libc::c_void;
 use core::libc;
 use core::comm::{stream, Port, Chan, SharedChan};
-use core::prelude::*;
 use core::ptr::addr_of;
-use core::task;
 
 /// Used to abstract-away direct interaction with a libuv loop.
 pub struct IoTask {
diff --git a/src/libstd/uv_ll.rs b/src/libstd/uv_ll.rs
index a5c53100400..fb40596b888 100644
--- a/src/libstd/uv_ll.rs
+++ b/src/libstd/uv_ll.rs
@@ -34,7 +34,6 @@
 
 use core::libc::size_t;
 use core::libc::c_void;
-use core::prelude::*;
 use core::ptr::to_unsafe_ptr;
 
 pub type uv_handle_t = c_void;
@@ -1225,7 +1224,6 @@ pub unsafe fn addrinfo_as_sockaddr_in6(input: *addrinfo) -> *sockaddr_in6 {
 
 #[cfg(test)]
 mod test {
-    use core::prelude::*;
     use core::comm::{SharedChan, stream, GenericChan, GenericPort};
     use super::*;
 
diff --git a/src/libstd/workcache.rs b/src/libstd/workcache.rs
index d1aa069559e..ae09b9b9026 100644
--- a/src/libstd/workcache.rs
+++ b/src/libstd/workcache.rs
@@ -16,16 +16,10 @@ use serialize::{Encoder, Encodable, Decoder, Decodable};
 use sort;
 
 use core::cell::Cell;
-use core::cmp;
-use core::either::{Either, Left, Right};
-use core::io;
 use core::comm::{oneshot, PortOne, send_one};
 use core::pipes::recv;
-use core::prelude::*;
-use core::result;
 use core::run;
 use core::hashmap::HashMap;
-use core::task;
 use core::to_bytes;
 
 /**
diff --git a/src/libsyntax/abi.rs b/src/libsyntax/abi.rs
index b6580b4c5a1..75782e9ca67 100644
--- a/src/libsyntax/abi.rs
+++ b/src/libsyntax/abi.rs
@@ -8,9 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
 use core::to_bytes;
-use core::to_str::ToStr;
 
 #[deriving(Eq)]
 pub enum Abi {
diff --git a/src/libsyntax/ast_map.rs b/src/libsyntax/ast_map.rs
index 05e67196b4c..f9828ad2b9e 100644
--- a/src/libsyntax/ast_map.rs
+++ b/src/libsyntax/ast_map.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use abi::AbiSet;
 use ast::*;
 use ast;
@@ -22,10 +20,7 @@ use parse::token::ident_interner;
 use print::pprust;
 use visit;
 
-use core::cmp;
 use core::hashmap::HashMap;
-use core::str;
-use core::vec;
 
 pub enum path_elt {
     path_mod(ident),
diff --git a/src/libsyntax/ast_util.rs b/src/libsyntax/ast_util.rs
index 4ae140a265e..bfacfc38df6 100644
--- a/src/libsyntax/ast_util.rs
+++ b/src/libsyntax/ast_util.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use ast::*;
 use ast;
 use ast_util;
@@ -18,12 +16,7 @@ use parse::token;
 use visit;
 use opt_vec;
 
-use core::int;
-use core::option;
-use core::str;
 use core::to_bytes;
-use core::vec;
-
 
 pub fn path_name_i(idents: &[ident], intr: @token::ident_interner) -> ~str {
     // FIXME: Bad copies (#2543 -- same for everything else that says "bad")
diff --git a/src/libsyntax/attr.rs b/src/libsyntax/attr.rs
index 98cfdd33ef6..2f8405c6e96 100644
--- a/src/libsyntax/attr.rs
+++ b/src/libsyntax/attr.rs
@@ -10,8 +10,6 @@
 
 // Functions dealing with attributes and meta_items
 
-use core::prelude::*;
-
 use ast;
 use codemap::{spanned, dummy_spanned};
 use attr;
@@ -19,7 +17,6 @@ use codemap::BytePos;
 use diagnostic::span_handler;
 use parse::comments::{doc_comment_style, strip_doc_comment_decoration};
 
-use core::vec;
 use core::hashmap::HashSet;
 use std;
 
diff --git a/src/libsyntax/codemap.rs b/src/libsyntax/codemap.rs
index bd8aa7011b7..1194506a887 100644
--- a/src/libsyntax/codemap.rs
+++ b/src/libsyntax/codemap.rs
@@ -21,12 +21,7 @@ source code snippets, etc.
 
 */
 
-use core::prelude::*;
-
-use core::cmp;
-use core::str;
 use core::to_bytes;
-use core::uint;
 use std::serialize::{Encodable, Decodable, Encoder, Decoder};
 
 pub trait Pos {
diff --git a/src/libsyntax/diagnostic.rs b/src/libsyntax/diagnostic.rs
index 35022b68ebb..0f2374a892b 100644
--- a/src/libsyntax/diagnostic.rs
+++ b/src/libsyntax/diagnostic.rs
@@ -8,16 +8,9 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use codemap::{Pos, span};
 use codemap;
 
-use core::io::WriterUtil;
-use core::io;
-use core::str;
-use core::vec;
-
 use std::term;
 
 pub type Emitter = @fn(cmsp: Option<(@codemap::CodeMap, span)>,
diff --git a/src/libsyntax/ext/asm.rs b/src/libsyntax/ext/asm.rs
index b070948d405..534027bd295 100644
--- a/src/libsyntax/ext/asm.rs
+++ b/src/libsyntax/ext/asm.rs
@@ -8,14 +8,10 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
-
 /*
  * Inline assembly support.
  */
 
-use core::prelude::*;
-
 use ast;
 use codemap::span;
 use ext::base;
diff --git a/src/libsyntax/ext/auto_encode.rs b/src/libsyntax/ext/auto_encode.rs
index 8263fce2356..0d451c66edb 100644
--- a/src/libsyntax/ext/auto_encode.rs
+++ b/src/libsyntax/ext/auto_encode.rs
@@ -88,8 +88,6 @@ node twice.
 
 */
 
-use core::prelude::*;
-
 use ast;
 use ast_util;
 use attr;
@@ -101,8 +99,6 @@ use opt_vec;
 use opt_vec::OptVec;
 use ext::build;
 
-use core::vec;
-
 // Transitional reexports so qquote can find the paths it is looking for
 mod syntax {
     pub use ext;
diff --git a/src/libsyntax/ext/base.rs b/src/libsyntax/ext/base.rs
index 4eb48d12bfe..ecbccedbd9d 100644
--- a/src/libsyntax/ext/base.rs
+++ b/src/libsyntax/ext/base.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use ast;
 use codemap;
 use codemap::{CodeMap, span, ExpnInfo, ExpandedFrom};
@@ -19,7 +17,6 @@ use ext;
 use parse;
 use parse::token;
 
-use core::vec;
 use core::hashmap::HashMap;
 
 // new-style macro! tt code:
diff --git a/src/libsyntax/ext/build.rs b/src/libsyntax/ext/build.rs
index db4929854b3..c4c2fed778f 100644
--- a/src/libsyntax/ext/build.rs
+++ b/src/libsyntax/ext/build.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use ast;
 use codemap;
 use codemap::span;
@@ -18,8 +16,6 @@ use ext::build;
 
 use opt_vec::OptVec;
 
-use core::option;
-
 pub struct Field {
     ident: ast::ident,
     ex: @ast::expr
diff --git a/src/libsyntax/ext/concat_idents.rs b/src/libsyntax/ext/concat_idents.rs
index f4901191b8a..55e25e69936 100644
--- a/src/libsyntax/ext/concat_idents.rs
+++ b/src/libsyntax/ext/concat_idents.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use ast;
 use codemap::span;
 use ext::base::*;
diff --git a/src/libsyntax/ext/deriving/decodable.rs b/src/libsyntax/ext/deriving/decodable.rs
index df3536a3cae..48f6d5baa8b 100644
--- a/src/libsyntax/ext/deriving/decodable.rs
+++ b/src/libsyntax/ext/deriving/decodable.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use ast;
 use ast::*;
 use ext::base::ext_ctxt;
@@ -19,8 +17,6 @@ use codemap::{span, spanned};
 use ast_util;
 use opt_vec;
 
-use core::uint;
-
 pub fn expand_deriving_decodable(
     cx: @ext_ctxt,
     span: span,
diff --git a/src/libsyntax/ext/deriving/encodable.rs b/src/libsyntax/ext/deriving/encodable.rs
index 6fd27c5f3d7..640d0d0ff2d 100644
--- a/src/libsyntax/ext/deriving/encodable.rs
+++ b/src/libsyntax/ext/deriving/encodable.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use ast;
 use ast::*;
 use ext::base::ext_ctxt;
@@ -19,8 +17,6 @@ use codemap::{span, spanned};
 use ast_util;
 use opt_vec;
 
-use core::uint;
-
 pub fn expand_deriving_encodable(
     cx: @ext_ctxt,
     span: span,
diff --git a/src/libsyntax/ext/deriving/generic.rs b/src/libsyntax/ext/deriving/generic.rs
index 461c99e8442..05941f4cbd6 100644
--- a/src/libsyntax/ext/deriving/generic.rs
+++ b/src/libsyntax/ext/deriving/generic.rs
@@ -125,8 +125,6 @@ For `C0(a)` and `C1 {x}` ,
 
 */
 
-use core::prelude::*;
-
 use ast;
 
 use ast::{
diff --git a/src/libsyntax/ext/deriving/iter_bytes.rs b/src/libsyntax/ext/deriving/iter_bytes.rs
index 85592d142ab..f03306ea07a 100644
--- a/src/libsyntax/ext/deriving/iter_bytes.rs
+++ b/src/libsyntax/ext/deriving/iter_bytes.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use ast;
 use ast::*;
 use ext::base::ext_ctxt;
@@ -19,8 +17,6 @@ use codemap::{span, spanned};
 use ast_util;
 use opt_vec;
 
-use core::uint;
-
 pub fn expand_deriving_iter_bytes(cx: @ext_ctxt,
                                   span: span,
                                   _mitem: @meta_item,
diff --git a/src/libsyntax/ext/deriving/mod.rs b/src/libsyntax/ext/deriving/mod.rs
index 577cf4c01cf..5aeeef2b17a 100644
--- a/src/libsyntax/ext/deriving/mod.rs
+++ b/src/libsyntax/ext/deriving/mod.rs
@@ -11,8 +11,6 @@
 /// The compiler code necessary to implement the #[deriving(Eq)] and
 /// #[deriving(IterBytes)] extensions.
 
-use core::prelude::*;
-
 use ast;
 use ast::{Ty, bind_by_ref, deref, enum_def};
 use ast::{expr, expr_match, ident, item, item_};
@@ -28,8 +26,6 @@ use codemap::{span, respan};
 use parse::token::special_idents::clownshoes_extensions;
 use opt_vec;
 
-use core::uint;
-
 pub mod clone;
 pub mod iter_bytes;
 pub mod encodable;
diff --git a/src/libsyntax/ext/env.rs b/src/libsyntax/ext/env.rs
index c21a9fa8739..5e5fd7d97b1 100644
--- a/src/libsyntax/ext/env.rs
+++ b/src/libsyntax/ext/env.rs
@@ -8,15 +8,12 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
 /*
  * The compiler code necessary to support the env! extension.  Eventually this
  * should all get sucked into either the compiler syntax extension plugin
  * interface.
  */
 
-use core::prelude::*;
-
 use ast;
 use codemap::span;
 use ext::base::*;
diff --git a/src/libsyntax/ext/expand.rs b/src/libsyntax/ext/expand.rs
index 53ebb946114..fde5a259422 100644
--- a/src/libsyntax/ext/expand.rs
+++ b/src/libsyntax/ext/expand.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use ast::{blk_, attribute_, attr_outer, meta_word};
 use ast::{crate, expr_, expr_mac, mac_invoc_tt};
 use ast::{item_mac, stmt_, stmt_mac, stmt_expr, stmt_semi};
@@ -22,8 +20,6 @@ use fold::*;
 use parse;
 use parse::{parse_item_from_source_str};
 
-use core::vec;
-
 pub fn expand_expr(extsbox: @mut SyntaxEnv,
                    cx: @ext_ctxt,
                    e: &expr_,
diff --git a/src/libsyntax/ext/fmt.rs b/src/libsyntax/ext/fmt.rs
index 6a877040f48..9bbe617eb07 100644
--- a/src/libsyntax/ext/fmt.rs
+++ b/src/libsyntax/ext/fmt.rs
@@ -8,16 +8,12 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-
-
 /*
  * The compiler code necessary to support the fmt! extension. Eventually this
  * should all get sucked into either the standard library extfmt module or the
  * compiler syntax extension plugin interface.
  */
 
-use core::prelude::*;
-
 use ast;
 use codemap::span;
 use ext::base::*;
diff --git a/src/libsyntax/ext/log_syntax.rs b/src/libsyntax/ext/log_syntax.rs
index bf4a997bc17..34d6978abdd 100644
--- a/src/libsyntax/ext/log_syntax.rs
+++ b/src/libsyntax/ext/log_syntax.rs
@@ -8,9 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::io::WriterUtil;
-use core::prelude::*;
-
 use ast;
 use codemap;
 use ext::base::*;
diff --git a/src/libsyntax/ext/pipes/ast_builder.rs b/src/libsyntax/ext/pipes/ast_builder.rs
index 9434172c1f4..ede3711b052 100644
--- a/src/libsyntax/ext/pipes/ast_builder.rs
+++ b/src/libsyntax/ext/pipes/ast_builder.rs
@@ -13,8 +13,6 @@
 // To start with, it will be use dummy spans, but it might someday do
 // something smarter.
 
-use core::prelude::*;
-
 use abi::AbiSet;
 use ast::ident;
 use ast;
@@ -26,8 +24,6 @@ use ext::quote::rt::*;
 use opt_vec;
 use opt_vec::OptVec;
 
-use core::vec;
-
 // Transitional reexports so qquote can find the paths it is looking for
 mod syntax {
     pub use ext;
diff --git a/src/libsyntax/ext/pipes/check.rs b/src/libsyntax/ext/pipes/check.rs
index 29c9e86ec62..c2c0c06342b 100644
--- a/src/libsyntax/ext/pipes/check.rs
+++ b/src/libsyntax/ext/pipes/check.rs
@@ -29,8 +29,6 @@ that.
 
 */
 
-use core::prelude::*;
-
 use ast;
 use codemap::span;
 use ext::base::ext_ctxt;
diff --git a/src/libsyntax/ext/pipes/liveness.rs b/src/libsyntax/ext/pipes/liveness.rs
index c6fdf4d9c1b..4597dab89cb 100644
--- a/src/libsyntax/ext/pipes/liveness.rs
+++ b/src/libsyntax/ext/pipes/liveness.rs
@@ -37,12 +37,9 @@ updating the states using rule (2) until there are no changes.
 
 */
 
-use core::prelude::*;
-
 use ext::base::ext_ctxt;
 use ext::pipes::proto::protocol;
 
-use core::str;
 use std::bitv::Bitv;
 
 pub fn analyze(proto: protocol, _cx: @ext_ctxt) {
diff --git a/src/libsyntax/ext/pipes/parse_proto.rs b/src/libsyntax/ext/pipes/parse_proto.rs
index 7339ebdaa98..f9346f49b61 100644
--- a/src/libsyntax/ext/pipes/parse_proto.rs
+++ b/src/libsyntax/ext/pipes/parse_proto.rs
@@ -16,8 +16,6 @@ use parse::common::SeqSep;
 use parse::parser;
 use parse::token;
 
-use core::prelude::*;
-
 pub trait proto_parser {
     fn parse_proto(&self, id: ~str) -> protocol;
     fn parse_state(&self, proto: protocol);
diff --git a/src/libsyntax/ext/pipes/pipec.rs b/src/libsyntax/ext/pipes/pipec.rs
index 105e08e5fb4..e6f5d3608af 100644
--- a/src/libsyntax/ext/pipes/pipec.rs
+++ b/src/libsyntax/ext/pipes/pipec.rs
@@ -20,11 +20,6 @@ use ext::quote::rt::*;
 use opt_vec;
 use opt_vec::OptVec;
 
-use core::prelude::*;
-use core::str;
-use core::to_str::ToStr;
-use core::vec;
-
 pub trait gen_send {
     fn gen_send(&mut self, cx: @ext_ctxt, try: bool) -> @ast::item;
     fn to_ty(&mut self, cx: @ext_ctxt) -> @ast::Ty;
diff --git a/src/libsyntax/ext/pipes/proto.rs b/src/libsyntax/ext/pipes/proto.rs
index 6495750f93b..79072a2f577 100644
--- a/src/libsyntax/ext/pipes/proto.rs
+++ b/src/libsyntax/ext/pipes/proto.rs
@@ -8,15 +8,11 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use ast;
 use codemap::span;
 use ext::base::ext_ctxt;
 use ext::pipes::ast_builder::{append_types, ext_ctxt_ast_builder, path};
 
-use core::to_str::ToStr;
-
 #[deriving(Eq)]
 pub enum direction { send, recv }
 
diff --git a/src/libsyntax/ext/quote.rs b/src/libsyntax/ext/quote.rs
index f355d327d4f..f7412a4502c 100644
--- a/src/libsyntax/ext/quote.rs
+++ b/src/libsyntax/ext/quote.rs
@@ -17,8 +17,6 @@ use parse::token::*;
 use parse::token;
 use parse;
 
-use core::prelude::*;
-
 /**
 *
 * Quasiquoting works via token trees.
@@ -36,7 +34,6 @@ pub mod rt {
     use parse;
     use print::pprust;
 
-    use core::prelude::*;
     use core::str;
 
     pub use ast::*;
diff --git a/src/libsyntax/ext/source_util.rs b/src/libsyntax/ext/source_util.rs
index b2de322be55..70aa9472c85 100644
--- a/src/libsyntax/ext/source_util.rs
+++ b/src/libsyntax/ext/source_util.rs
@@ -18,12 +18,6 @@ use ext::build::{mk_base_vec_e, mk_uint, mk_u8, mk_base_str};
 use parse;
 use print::pprust;
 
-use core::io;
-use core::prelude::*;
-use core::result;
-use core::str;
-use core::vec;
-
 // These macros all relate to the file system; they either return
 // the column/row/filename of the expression, or they include
 // a given file into the current one.
diff --git a/src/libsyntax/ext/trace_macros.rs b/src/libsyntax/ext/trace_macros.rs
index 29a959013f2..a29a0f33e0d 100644
--- a/src/libsyntax/ext/trace_macros.rs
+++ b/src/libsyntax/ext/trace_macros.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use ast;
 use codemap::span;
 use ext::base::ext_ctxt;
diff --git a/src/libsyntax/ext/tt/macro_parser.rs b/src/libsyntax/ext/tt/macro_parser.rs
index 9df7a8e7e1d..e4e033e0fff 100644
--- a/src/libsyntax/ext/tt/macro_parser.rs
+++ b/src/libsyntax/ext/tt/macro_parser.rs
@@ -19,7 +19,6 @@ use parse::parser::Parser;
 use parse::token::{Token, EOF, to_str, nonterminal};
 use parse::token;
 
-use core::prelude::*;
 use core::hashmap::HashMap;
 
 /* This is an Earley-like parser, without support for in-grammar nonterminals,
diff --git a/src/libsyntax/ext/tt/macro_rules.rs b/src/libsyntax/ext/tt/macro_rules.rs
index 9a8c288c3a1..39c3c63a9b7 100644
--- a/src/libsyntax/ext/tt/macro_rules.rs
+++ b/src/libsyntax/ext/tt/macro_rules.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
 
 use ast::{ident, matcher_, matcher, match_tok, match_nonterminal, match_seq};
 use ast::{tt_delim};
diff --git a/src/libsyntax/ext/tt/transcribe.rs b/src/libsyntax/ext/tt/transcribe.rs
index 7ac924444b8..19c83e21a86 100644
--- a/src/libsyntax/ext/tt/transcribe.rs
+++ b/src/libsyntax/ext/tt/transcribe.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use ast;
 use ast::{token_tree, tt_delim, tt_tok, tt_seq, tt_nonterminal,ident};
 use codemap::{span, dummy_sp};
@@ -19,8 +17,6 @@ use parse::token::{EOF, INTERPOLATED, IDENT, Token, nt_ident, ident_interner};
 use parse::lexer::TokenAndSpan;
 
 use core::hashmap::HashMap;
-use core::option;
-use core::vec;
 
 ///an unzipping of `token_tree`s
 struct TtFrame {
diff --git a/src/libsyntax/fold.rs b/src/libsyntax/fold.rs
index 768dba21412..da6d0e8bf7b 100644
--- a/src/libsyntax/fold.rs
+++ b/src/libsyntax/fold.rs
@@ -8,15 +8,11 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use ast::*;
 use ast;
 use codemap::{span, spanned};
 use opt_vec::OptVec;
 
-use core::vec;
-
 pub trait ast_fold {
     fn fold_crate(@self, &crate) -> crate;
     fn fold_view_item(@self, @view_item) -> @view_item;
diff --git a/src/libsyntax/opt_vec.rs b/src/libsyntax/opt_vec.rs
index c7ca9eba512..88d7c39cc83 100644
--- a/src/libsyntax/opt_vec.rs
+++ b/src/libsyntax/opt_vec.rs
@@ -16,7 +16,6 @@
  * other useful things like `push()` and `len()`.
  */
 
-use core::prelude::*;
 use core::iter;
 use core::iter::BaseIter;
 
diff --git a/src/libsyntax/parse/comments.rs b/src/libsyntax/parse/comments.rs
index b73544e95d6..40bfd3d380c 100644
--- a/src/libsyntax/parse/comments.rs
+++ b/src/libsyntax/parse/comments.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use ast;
 use codemap::{BytePos, CharPos, CodeMap, Pos};
 use diagnostic;
@@ -20,12 +18,6 @@ use parse::lexer;
 use parse::token;
 use parse;
 
-use core::io::ReaderUtil;
-use core::io;
-use core::str;
-use core::uint;
-use core::vec;
-
 #[deriving(Eq)]
 pub enum cmnt_style {
     isolated, // No code on either side of each line of the comment
diff --git a/src/libsyntax/parse/common.rs b/src/libsyntax/parse/common.rs
index 2d4a6d47eaa..01f80c032e9 100644
--- a/src/libsyntax/parse/common.rs
+++ b/src/libsyntax/parse/common.rs
@@ -8,16 +8,12 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use ast;
 use codemap::{BytePos, spanned};
 use parse::lexer::reader;
 use parse::parser::Parser;
 use parse::token;
 
-use core::option::{None, Option, Some};
-
 use opt_vec;
 use opt_vec::OptVec;
 
diff --git a/src/libsyntax/parse/lexer.rs b/src/libsyntax/parse/lexer.rs
index a9edf12f7fa..fa425cf6285 100644
--- a/src/libsyntax/parse/lexer.rs
+++ b/src/libsyntax/parse/lexer.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use ast;
 use codemap::{BytePos, CharPos, CodeMap, Pos, span};
 use codemap;
@@ -18,11 +16,6 @@ use ext::tt::transcribe::{tt_next_token};
 use ext::tt::transcribe::{dup_tt_reader};
 use parse::token;
 
-use core::char;
-use core::either;
-use core::str;
-use core::u64;
-
 pub use ext::tt::transcribe::{TtReader, new_tt_reader};
 
 //use std;
diff --git a/src/libsyntax/parse/obsolete.rs b/src/libsyntax/parse/obsolete.rs
index 423fc6dca6d..e6e98a35d6e 100644
--- a/src/libsyntax/parse/obsolete.rs
+++ b/src/libsyntax/parse/obsolete.rs
@@ -17,7 +17,6 @@ Obsolete syntax that becomes too hard to parse can be
 removed.
 */
 
-use core::prelude::*;
 
 use ast::{expr, expr_lit, lit_nil};
 use ast;
@@ -26,7 +25,6 @@ use parse::parser::Parser;
 use parse::token::Token;
 use parse::token;
 
-use core::str;
 use core::to_bytes;
 
 /// The specific types of unsupported syntax
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index d5cb1f5ebac..c35b0e2e8c2 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use abi;
 use abi::AbiSet;
 use ast::{Sigil, BorrowedSigil, ManagedSigil, OwnedSigil};
diff --git a/src/libsyntax/parse/prec.rs b/src/libsyntax/parse/prec.rs
index d8c829740fa..5f37c922c1e 100644
--- a/src/libsyntax/parse/prec.rs
+++ b/src/libsyntax/parse/prec.rs
@@ -13,8 +13,6 @@ use ast::*;
 use parse::token::*;
 use parse::token::Token;
 
-use core::prelude::*;
-
 /// Unary operators have higher precedence than binary
 pub static unop_prec: uint = 100u;
 
diff --git a/src/libsyntax/parse/token.rs b/src/libsyntax/parse/token.rs
index 2483cacd1a6..413f1688df1 100644
--- a/src/libsyntax/parse/token.rs
+++ b/src/libsyntax/parse/token.rs
@@ -8,20 +8,14 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use ast;
 use ast_util;
 use parse::token;
 use util::interner::Interner;
 use util::interner;
 
-use core::cast;
-use core::char;
 use core::cmp::Equiv;
 use core::hashmap::HashSet;
-use core::str;
-use core::task;
 use core::to_bytes;
 
 #[auto_encode]
diff --git a/src/libsyntax/print/pp.rs b/src/libsyntax/print/pp.rs
index 17add33d673..e2ad5becb12 100644
--- a/src/libsyntax/print/pp.rs
+++ b/src/libsyntax/print/pp.rs
@@ -8,12 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
-use core::io::WriterUtil;
-use core::io;
-use core::vec;
-
 /*
  * This pretty-printer is a direct reimplementation of Philip Karlton's
  * Mesa pretty-printer, as described in appendix A of
diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs
index ab4a8c73588..918fc805194 100644
--- a/src/libsyntax/print/pprust.rs
+++ b/src/libsyntax/print/pprust.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
 
 use abi::AbiSet;
 use ast::{RegionTyParamBound, TraitTyParamBound, required, provided};
@@ -29,12 +28,6 @@ use print::pp::{breaks, consistent, inconsistent, eof};
 use print::pp;
 use print::pprust;
 
-use core::char;
-use core::io;
-use core::str;
-use core::u64;
-use core::vec;
-
 // The @ps is stored here to prevent recursive type.
 pub enum ann_node<'self> {
     node_block(@ps, &'self ast::blk),
diff --git a/src/libsyntax/syntax.rc b/src/libsyntax/syntax.rc
index 6e70bd22b4f..2682139ce3f 100644
--- a/src/libsyntax/syntax.rc
+++ b/src/libsyntax/syntax.rc
@@ -12,8 +12,6 @@
        vers = "0.7-pre",
        uuid = "9311401b-d6ea-4cd9-a1d9-61f89499c645")];
 
-
-
 #[license = "MIT/ASL2"];
 #[crate_type = "lib"];
 
@@ -22,13 +20,8 @@
 #[deny(deprecated_mode)];
 #[deny(deprecated_pattern)];
 
-#[no_core];
-
-extern mod core(vers = "0.7-pre");
 extern mod std(vers = "0.7-pre");
 
-use core::*;
-
 // allow the interner_key macro
 // to escape this module:
 #[macro_escape]
diff --git a/src/libsyntax/util/interner.rs b/src/libsyntax/util/interner.rs
index cda1c6c0df3..9ab7d4bc443 100644
--- a/src/libsyntax/util/interner.rs
+++ b/src/libsyntax/util/interner.rs
@@ -15,7 +15,6 @@
 // allow the interner_key macro to escape this module:
 #[macro_escape];
 
-use core::prelude::*;
 use core::cmp::Equiv;
 use core::hashmap::HashMap;
 
diff --git a/src/libsyntax/visit.rs b/src/libsyntax/visit.rs
index 0aaa08f2e78..80df8fb91a5 100644
--- a/src/libsyntax/visit.rs
+++ b/src/libsyntax/visit.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::prelude::*;
-
 use abi::AbiSet;
 use ast::*;
 use ast;