about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2013-06-14 21:37:27 -0700
committerbors <bors@rust-lang.org>2013-06-14 21:37:27 -0700
commit1ba6fa477743bf6b8340b6d83987f1e243a509ae (patch)
tree81c2124bd6a880cd2c7dd83a168ac6883d99d29a
parent1104e659d539faf40773cd6dc01015c00df498cd (diff)
parent824a6277af9e614767e0570ecc282065256ac32a (diff)
downloadrust-1ba6fa477743bf6b8340b6d83987f1e243a509ae.tar.gz
rust-1ba6fa477743bf6b8340b6d83987f1e243a509ae.zip
auto merge of #7110 : thestinger/rust/iterator, r=brson
-rw-r--r--doc/tutorial-tasks.md3
-rw-r--r--src/compiletest/header.rs1
-rw-r--r--src/compiletest/procsrv.rs1
-rw-r--r--src/compiletest/runtest.rs1
-rw-r--r--src/libextra/deque.rs2
-rw-r--r--src/libextra/dlist.rs1
-rw-r--r--src/libextra/fileinput.rs1
-rw-r--r--src/libextra/getopts.rs1
-rw-r--r--src/libextra/json.rs1
-rw-r--r--src/libextra/list.rs1
-rw-r--r--src/libextra/net_ip.rs1
-rw-r--r--src/libextra/net_url.rs1
-rw-r--r--src/libextra/num/bigint.rs1
-rw-r--r--src/libextra/num/rational.rs1
-rw-r--r--src/libextra/par.rs1
-rw-r--r--src/libextra/rope.rs1
-rw-r--r--src/libextra/semver.rs1
-rw-r--r--src/libextra/sha1.rs2
-rw-r--r--src/libextra/stats.rs2
-rw-r--r--src/libextra/terminfo/parser/compiled.rs1
-rw-r--r--src/libextra/terminfo/searcher.rs1
-rw-r--r--src/libextra/time.rs1
-rw-r--r--src/libextra/treemap.rs3
-rw-r--r--src/librust/rust.rc1
-rw-r--r--src/librustc/back/link.rs1
-rw-r--r--src/librustc/driver/driver.rs1
-rw-r--r--src/librustc/metadata/cstore.rs1
-rw-r--r--src/librustc/metadata/encoder.rs1
-rw-r--r--src/librustc/middle/astencode.rs1
-rw-r--r--src/librustc/middle/borrowck/check_loans.rs1
-rw-r--r--src/librustc/middle/borrowck/gather_loans/mod.rs1
-rw-r--r--src/librustc/middle/borrowck/move_data.rs1
-rw-r--r--src/librustc/middle/check_const.rs1
-rw-r--r--src/librustc/middle/check_match.rs1
-rw-r--r--src/librustc/middle/const_eval.rs1
-rw-r--r--src/librustc/middle/dataflow.rs1
-rw-r--r--src/librustc/middle/kind.rs1
-rw-r--r--src/librustc/middle/lint.rs1
-rw-r--r--src/librustc/middle/liveness.rs1
-rw-r--r--src/librustc/middle/mem_categorization.rs1
-rw-r--r--src/librustc/middle/moves.rs1
-rw-r--r--src/librustc/middle/region.rs1
-rw-r--r--src/librustc/middle/resolve.rs1
-rw-r--r--src/librustc/middle/trans/_match.rs1
-rw-r--r--src/librustc/middle/trans/adt.rs1
-rw-r--r--src/librustc/middle/trans/base.rs1
-rw-r--r--src/librustc/middle/trans/cabi_arm.rs1
-rw-r--r--src/librustc/middle/trans/cabi_mips.rs1
-rw-r--r--src/librustc/middle/trans/cabi_x86_64.rs1
-rw-r--r--src/librustc/middle/trans/callee.rs1
-rw-r--r--src/librustc/middle/trans/closure.rs1
-rw-r--r--src/librustc/middle/trans/common.rs1
-rw-r--r--src/librustc/middle/trans/expr.rs1
-rw-r--r--src/librustc/middle/trans/inline.rs1
-rw-r--r--src/librustc/middle/trans/monomorphize.rs1
-rw-r--r--src/librustc/middle/trans/reachable.rs1
-rw-r--r--src/librustc/middle/trans/type_use.rs1
-rw-r--r--src/librustc/middle/ty.rs1
-rw-r--r--src/librustc/middle/typeck/check/_match.rs1
-rw-r--r--src/librustc/middle/typeck/check/mod.rs1
-rw-r--r--src/librustc/middle/typeck/check/regionck.rs1
-rw-r--r--src/librustc/middle/typeck/check/vtable.rs1
-rw-r--r--src/librustc/middle/typeck/check/writeback.rs1
-rw-r--r--src/librustc/middle/typeck/coherence.rs1
-rw-r--r--src/librustc/middle/typeck/collect.rs1
-rw-r--r--src/librustc/middle/typeck/infer/mod.rs1
-rw-r--r--src/librustc/util/ppaux.rs1
-rw-r--r--src/librustdoc/desc_to_brief_pass.rs1
-rw-r--r--src/librustdoc/doc.rs1
-rw-r--r--src/librustdoc/pass.rs1
-rw-r--r--src/librustdoc/unindent_pass.rs1
-rw-r--r--src/librusti/rusti.rc3
-rw-r--r--src/librustpkg/path_util.rs1
-rw-r--r--src/librustpkg/rustpkg.rc1
-rw-r--r--src/librustpkg/version.rs1
-rw-r--r--src/libstd/iter.rs2
-rw-r--r--src/libstd/iterator.rs46
-rw-r--r--src/libstd/old_iter.rs15
-rw-r--r--src/libstd/prelude.rs8
-rw-r--r--src/libstd/vec.rs75
-rw-r--r--src/libsyntax/ast_map.rs1
-rw-r--r--src/libsyntax/ast_util.rs2
-rw-r--r--src/libsyntax/attr.rs1
-rw-r--r--src/libsyntax/diagnostic.rs1
-rw-r--r--src/libsyntax/ext/bytes.rs1
-rw-r--r--src/libsyntax/ext/deriving/generic.rs1
-rw-r--r--src/libsyntax/ext/deriving/iter_bytes.rs1
-rw-r--r--src/libsyntax/ext/deriving/mod.rs1
-rw-r--r--src/libsyntax/ext/expand.rs1
-rw-r--r--src/libsyntax/ext/pipes/pipec.rs1
-rw-r--r--src/libsyntax/ext/tt/macro_parser.rs1
-rw-r--r--src/libsyntax/ext/tt/transcribe.rs1
-rw-r--r--src/libsyntax/parse/comments.rs1
-rw-r--r--src/libsyntax/parse/lexer.rs1
-rw-r--r--src/libsyntax/parse/parser.rs1
-rw-r--r--src/libsyntax/print/pprust.rs1
-rw-r--r--src/libsyntax/visit.rs1
-rw-r--r--src/test/bench/graph500-bfs.rs1
-rw-r--r--src/test/bench/msgsend-ring-mutex-arcs.rs2
-rw-r--r--src/test/bench/msgsend-ring-pipes.rs2
-rw-r--r--src/test/bench/msgsend-ring-rw-arcs.rs2
-rw-r--r--src/test/bench/shootout-fannkuch-redux.rs1
-rw-r--r--src/test/bench/shootout-fasta-redux.rs1
-rw-r--r--src/test/bench/shootout-nbody.rs1
-rw-r--r--src/test/bench/shootout-spectralnorm.rs2
-rw-r--r--src/test/bench/sudoku.rs1
-rw-r--r--src/test/compile-fail/block-arg-as-stmt-with-value.rs2
-rw-r--r--src/test/compile-fail/issue-3044.rs2
-rw-r--r--src/test/compile-fail/vec-mut-iter-borrow.rs2
-rw-r--r--src/test/run-pass/block-arg-can-be-followed-by-binop.rs2
-rw-r--r--src/test/run-pass/block-arg-can-be-followed-by-block-arg.rs2
-rw-r--r--src/test/run-pass/block-arg-can-be-followed-by-call.rs2
-rw-r--r--src/test/run-pass/block-arg-in-parentheses.rs1
-rw-r--r--src/test/run-pass/block-arg.rs1
-rw-r--r--src/test/run-pass/issue-2904.rs1
-rw-r--r--src/test/run-pass/linear-for-loop.rs2
-rw-r--r--src/test/run-pass/mutability-inherits-through-fixed-length-vec.rs2
-rw-r--r--src/test/run-pass/ret-break-cont-in-block.rs1
-rw-r--r--src/test/run-pass/test-ignore-cfg.rs2
-rw-r--r--src/test/run-pass/utf8.rs2
-rw-r--r--src/test/run-pass/utf8_chars.rs1
121 files changed, 13 insertions, 273 deletions
diff --git a/doc/tutorial-tasks.md b/doc/tutorial-tasks.md
index bf97c86b5c9..b00cd665271 100644
--- a/doc/tutorial-tasks.md
+++ b/doc/tutorial-tasks.md
@@ -327,7 +327,7 @@ fn main() {
     let mut futures = vec::from_fn(1000, |ind| do extra::future::spawn { partial_sum(ind) });
 
     let mut final_res = 0f64;
-    for futures.each_mut |ft|  {
+    for futures.mut_iter().advance |ft|  {
         final_res += ft.get();
     }
     println(fmt!("π^2/6 is not far from : %?", final_res));
@@ -351,7 +351,6 @@ a single large vector of floats. Each task needs the full vector to perform its
 # use std::vec;
 # use std::uint;
 # use std::rand;
-# use std::iterator::IteratorUtil;
 use extra::arc::ARC;
 
 fn pnorm(nums: &~[float], p: uint) -> float {
diff --git a/src/compiletest/header.rs b/src/compiletest/header.rs
index 2888d4223b7..ddb68d48116 100644
--- a/src/compiletest/header.rs
+++ b/src/compiletest/header.rs
@@ -13,7 +13,6 @@ use core::prelude::*;
 use common::config;
 use common;
 
-use core::iterator::IteratorUtil;
 use core::io;
 use core::os;
 
diff --git a/src/compiletest/procsrv.rs b/src/compiletest/procsrv.rs
index 9317858d6da..b5404e38ec9 100644
--- a/src/compiletest/procsrv.rs
+++ b/src/compiletest/procsrv.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 use core::prelude::*;
-use core::iterator::IteratorUtil;
 
 use core::os;
 use core::run;
diff --git a/src/compiletest/runtest.rs b/src/compiletest/runtest.rs
index c9208478128..891935dcadd 100644
--- a/src/compiletest/runtest.rs
+++ b/src/compiletest/runtest.rs
@@ -22,7 +22,6 @@ use procsrv;
 use util;
 use util::logv;
 
-use core::iterator::IteratorUtil;
 use core::io;
 use core::os;
 use core::str;
diff --git a/src/libextra/deque.rs b/src/libextra/deque.rs
index a8accc50eab..89e23a3a77f 100644
--- a/src/libextra/deque.rs
+++ b/src/libextra/deque.rs
@@ -37,7 +37,7 @@ impl<T> Container for Deque<T> {
 impl<T> Mutable for Deque<T> {
     /// Clear the deque, removing all values.
     fn clear(&mut self) {
-        for self.elts.each_mut |x| { *x = None }
+        for self.elts.mut_iter().advance |x| { *x = None }
         self.nelts = 0;
         self.lo = 0;
         self.hi = 0;
diff --git a/src/libextra/dlist.rs b/src/libextra/dlist.rs
index 7fac125243e..c3e2beb122f 100644
--- a/src/libextra/dlist.rs
+++ b/src/libextra/dlist.rs
@@ -20,7 +20,6 @@ Do not use ==, !=, <, etc on doubly-linked lists -- it may not terminate.
 
 use core::prelude::*;
 
-use core::iterator::IteratorUtil;
 use core::managed;
 use core::old_iter;
 use core::vec;
diff --git a/src/libextra/fileinput.rs b/src/libextra/fileinput.rs
index 345b0e8cff7..ed38db1d686 100644
--- a/src/libextra/fileinput.rs
+++ b/src/libextra/fileinput.rs
@@ -414,7 +414,6 @@ mod test {
 
     use super::{FileInput, pathify, input_vec, input_vec_state};
 
-    use core::iterator::IteratorUtil;
     use core::io;
     use core::uint;
     use core::vec;
diff --git a/src/libextra/getopts.rs b/src/libextra/getopts.rs
index f07a2f0c25b..05649104c31 100644
--- a/src/libextra/getopts.rs
+++ b/src/libextra/getopts.rs
@@ -83,7 +83,6 @@
 
 use core::prelude::*;
 
-use core::iterator::IteratorUtil;
 use core::cmp::Eq;
 use core::result::{Err, Ok};
 use core::result;
diff --git a/src/libextra/json.rs b/src/libextra/json.rs
index 1e9ec48aff3..db95327f0aa 100644
--- a/src/libextra/json.rs
+++ b/src/libextra/json.rs
@@ -18,7 +18,6 @@
 
 use core::prelude::*;
 
-use core::iterator::IteratorUtil;
 use core::char;
 use core::float;
 use core::hashmap::HashMap;
diff --git a/src/libextra/list.rs b/src/libextra/list.rs
index 0d0b5ea00f0..68d9bb4e1ae 100644
--- a/src/libextra/list.rs
+++ b/src/libextra/list.rs
@@ -12,7 +12,6 @@
 
 use core::prelude::*;
 
-use core::iterator::IteratorUtil;
 
 #[deriving(Eq)]
 pub enum List<T> {
diff --git a/src/libextra/net_ip.rs b/src/libextra/net_ip.rs
index 760fc7485e0..518a9d8685a 100644
--- a/src/libextra/net_ip.rs
+++ b/src/libextra/net_ip.rs
@@ -14,7 +14,6 @@
 
 use core::prelude::*;
 
-use core::iterator::IteratorUtil;
 use core::libc;
 use core::comm::{stream, SharedChan};
 use core::ptr;
diff --git a/src/libextra/net_url.rs b/src/libextra/net_url.rs
index 31d728f1813..a0ce1669a44 100644
--- a/src/libextra/net_url.rs
+++ b/src/libextra/net_url.rs
@@ -14,7 +14,6 @@
 
 use core::prelude::*;
 
-use core::iterator::IteratorUtil;
 use core::cmp::Eq;
 use core::io::{Reader, ReaderUtil};
 use core::io;
diff --git a/src/libextra/num/bigint.rs b/src/libextra/num/bigint.rs
index 4baa8877bda..14156e8b901 100644
--- a/src/libextra/num/bigint.rs
+++ b/src/libextra/num/bigint.rs
@@ -19,7 +19,6 @@ A BigInt is a combination of BigUint and Sign.
 #[allow(missing_doc)];
 
 use core::prelude::*;
-use core::iterator::IteratorUtil;
 use core::cmp::{Eq, Ord, TotalEq, TotalOrd, Ordering, Less, Equal, Greater};
 use core::int;
 use core::num::{IntConvertible, Zero, One, ToStrRadix, FromStrRadix, Orderable};
diff --git a/src/libextra/num/rational.rs b/src/libextra/num/rational.rs
index 08fbb8aacc9..ebb88a13481 100644
--- a/src/libextra/num/rational.rs
+++ b/src/libextra/num/rational.rs
@@ -12,7 +12,6 @@
 
 use core::prelude::*;
 
-use core::iterator::IteratorUtil;
 use core::cmp;
 use core::from_str::FromStr;
 use core::num::{Zero,One,ToStrRadix,FromStrRadix,Round};
diff --git a/src/libextra/par.rs b/src/libextra/par.rs
index 05fe4ed72ee..334ab7c9c99 100644
--- a/src/libextra/par.rs
+++ b/src/libextra/par.rs
@@ -10,7 +10,6 @@
 
 use core::prelude::*;
 
-use core::iterator::IteratorUtil;
 use core::cast;
 use core::ptr;
 use core::sys;
diff --git a/src/libextra/rope.rs b/src/libextra/rope.rs
index 099b257380b..12539cd4759 100644
--- a/src/libextra/rope.rs
+++ b/src/libextra/rope.rs
@@ -37,7 +37,6 @@
 
 use core::prelude::*;
 
-use core::iterator::IteratorUtil;
 use core::uint;
 use core::vec;
 use core::str;
diff --git a/src/libextra/semver.rs b/src/libextra/semver.rs
index 3ab8bb1f60b..462461439e6 100644
--- a/src/libextra/semver.rs
+++ b/src/libextra/semver.rs
@@ -14,7 +14,6 @@
 
 use core::prelude::*;
 
-use core::iterator::IteratorUtil;
 use core::char;
 use core::cmp;
 use core::io::{ReaderUtil};
diff --git a/src/libextra/sha1.rs b/src/libextra/sha1.rs
index 03ceded0073..908e497b959 100644
--- a/src/libextra/sha1.rs
+++ b/src/libextra/sha1.rs
@@ -24,7 +24,7 @@
 
 use core::prelude::*;
 
-use core::iterator::IteratorUtil;
+use core::str;
 use core::uint;
 use core::vec;
 
diff --git a/src/libextra/stats.rs b/src/libextra/stats.rs
index 88b2fddb9d9..4af47fa806f 100644
--- a/src/libextra/stats.rs
+++ b/src/libextra/stats.rs
@@ -12,7 +12,7 @@
 
 use core::prelude::*;
 
-use core::iterator::*;
+use core::vec;
 use core::f64;
 use core::cmp;
 use core::num;
diff --git a/src/libextra/terminfo/parser/compiled.rs b/src/libextra/terminfo/parser/compiled.rs
index 690596e6248..81b6083db01 100644
--- a/src/libextra/terminfo/parser/compiled.rs
+++ b/src/libextra/terminfo/parser/compiled.rs
@@ -14,7 +14,6 @@ use core::prelude::*;
 
 use core::{vec, int, str};
 use core::io::Reader;
-use core::iterator::IteratorUtil;
 use core::hashmap::HashMap;
 use super::super::TermInfo;
 
diff --git a/src/libextra/terminfo/searcher.rs b/src/libextra/terminfo/searcher.rs
index 1ef410252ab..f8251447572 100644
--- a/src/libextra/terminfo/searcher.rs
+++ b/src/libextra/terminfo/searcher.rs
@@ -15,7 +15,6 @@ use core::prelude::*;
 use core::{os, str};
 use core::os::getenv;
 use core::io::{file_reader, Reader};
-use core::iterator::IteratorUtil;
 use path = core::path::Path;
 
 /// Return path to database entry for `term`
diff --git a/src/libextra/time.rs b/src/libextra/time.rs
index caaa2994405..50592d5f730 100644
--- a/src/libextra/time.rs
+++ b/src/libextra/time.rs
@@ -16,7 +16,6 @@ use core::i32;
 use core::int;
 use core::io;
 use core::str;
-use core::iterator::IteratorUtil;
 
 static NSEC_PER_SEC: i32 = 1_000_000_000_i32;
 
diff --git a/src/libextra/treemap.rs b/src/libextra/treemap.rs
index 0918ab8ddad..f98758f64af 100644
--- a/src/libextra/treemap.rs
+++ b/src/libextra/treemap.rs
@@ -14,7 +14,6 @@
 
 use core::prelude::*;
 
-use core::iterator::*;
 use core::uint;
 use core::util::{swap, replace};
 
@@ -709,7 +708,6 @@ mod test_treemap {
 
     use super::*;
 
-    use core::iterator::*;
     use core::rand::RngUtil;
     use core::rand;
     use core::str;
@@ -1030,7 +1028,6 @@ mod test_treemap {
 #[cfg(test)]
 mod test_set {
     use core::prelude::*;
-    use core::iterator::*;
 
     use super::*;
 
diff --git a/src/librust/rust.rc b/src/librust/rust.rc
index f0d4652eb1d..9d8f1c1a091 100644
--- a/src/librust/rust.rc
+++ b/src/librust/rust.rc
@@ -30,7 +30,6 @@ extern mod rusti;
 extern mod rustc;
 
 use core::prelude::*;
-use core::iterator::IteratorUtil;
 
 use core::io;
 use core::os;
diff --git a/src/librustc/back/link.rs b/src/librustc/back/link.rs
index 3c8705b4ee9..7760982130f 100644
--- a/src/librustc/back/link.rs
+++ b/src/librustc/back/link.rs
@@ -22,7 +22,6 @@ use middle::trans::common::CrateContext;
 use middle::ty;
 use util::ppaux;
 
-use core::iterator::IteratorUtil;
 use core::char;
 use core::hash::Streaming;
 use core::hash;
diff --git a/src/librustc/driver/driver.rs b/src/librustc/driver/driver.rs
index b72cdd40ecd..61254740dcd 100644
--- a/src/librustc/driver/driver.rs
+++ b/src/librustc/driver/driver.rs
@@ -24,7 +24,6 @@ use middle;
 use util::common::time;
 use util::ppaux;
 
-use core::iterator::IteratorUtil;
 use core::hashmap::HashMap;
 use core::int;
 use core::io;
diff --git a/src/librustc/metadata/cstore.rs b/src/librustc/metadata/cstore.rs
index 71061d91540..2819340ae45 100644
--- a/src/librustc/metadata/cstore.rs
+++ b/src/librustc/metadata/cstore.rs
@@ -17,7 +17,6 @@ use core::prelude::*;
 use metadata::cstore;
 use metadata::decoder;
 
-use core::iterator::IteratorUtil;
 use core::hashmap::HashMap;
 use core::vec;
 use extra;
diff --git a/src/librustc/metadata/encoder.rs b/src/librustc/metadata/encoder.rs
index afa76eae4cf..d26a52cf331 100644
--- a/src/librustc/metadata/encoder.rs
+++ b/src/librustc/metadata/encoder.rs
@@ -22,7 +22,6 @@ use middle::ty;
 use middle;
 use util::ppaux::ty_to_str;
 
-use core::iterator::IteratorUtil;
 use core::hash::HashUtil;
 use core::hashmap::HashMap;
 use core::int;
diff --git a/src/librustc/middle/astencode.rs b/src/librustc/middle/astencode.rs
index 209ab4ce3d4..c76d509f3be 100644
--- a/src/librustc/middle/astencode.rs
+++ b/src/librustc/middle/astencode.rs
@@ -25,7 +25,6 @@ use middle::{ty, typeck, moves};
 use middle;
 use util::ppaux::ty_to_str;
 
-use core::iterator::IteratorUtil;
 use core::at_vec;
 use core::uint;
 use extra::ebml::reader;
diff --git a/src/librustc/middle/borrowck/check_loans.rs b/src/librustc/middle/borrowck/check_loans.rs
index dfbef30f896..e384d35373e 100644
--- a/src/librustc/middle/borrowck/check_loans.rs
+++ b/src/librustc/middle/borrowck/check_loans.rs
@@ -18,7 +18,6 @@
 // 4. moves do not affect things loaned out in any way
 
 use core::prelude::*;
-use core::iterator::IteratorUtil;
 
 use core::hashmap::HashSet;
 use core::uint;
diff --git a/src/librustc/middle/borrowck/gather_loans/mod.rs b/src/librustc/middle/borrowck/gather_loans/mod.rs
index b88d4365014..02b45995e43 100644
--- a/src/librustc/middle/borrowck/gather_loans/mod.rs
+++ b/src/librustc/middle/borrowck/gather_loans/mod.rs
@@ -17,7 +17,6 @@
 // sure that all of these loans are honored.
 
 use core::prelude::*;
-use core::iterator::IteratorUtil;
 
 use middle::borrowck::*;
 use middle::borrowck::move_data::MoveData;
diff --git a/src/librustc/middle/borrowck/move_data.rs b/src/librustc/middle/borrowck/move_data.rs
index 6b16bb5a3c3..bd560fca985 100644
--- a/src/librustc/middle/borrowck/move_data.rs
+++ b/src/librustc/middle/borrowck/move_data.rs
@@ -16,7 +16,6 @@ comments in the section "Moves and initialization" and in `doc.rs`.
 */
 
 use core::prelude::*;
-use core::iterator::IteratorUtil;
 
 use core::hashmap::{HashMap, HashSet};
 use core::uint;
diff --git a/src/librustc/middle/check_const.rs b/src/librustc/middle/check_const.rs
index 85e2fe37076..f44fb0e058b 100644
--- a/src/librustc/middle/check_const.rs
+++ b/src/librustc/middle/check_const.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use core::iterator::IteratorUtil;
 use core::prelude::*;
 
 use driver::session::Session;
diff --git a/src/librustc/middle/check_match.rs b/src/librustc/middle/check_match.rs
index 1833cc96e32..ad89d790761 100644
--- a/src/librustc/middle/check_match.rs
+++ b/src/librustc/middle/check_match.rs
@@ -19,7 +19,6 @@ use middle::typeck::method_map;
 use middle::moves;
 use util::ppaux::ty_to_str;
 
-use core::iterator::IteratorUtil;
 use core::uint;
 use core::vec;
 use extra::sort;
diff --git a/src/librustc/middle/const_eval.rs b/src/librustc/middle/const_eval.rs
index 14fcbcc1f14..988ad519f42 100644
--- a/src/librustc/middle/const_eval.rs
+++ b/src/librustc/middle/const_eval.rs
@@ -18,7 +18,6 @@ use middle;
 use syntax::{ast, ast_map, ast_util, visit};
 use syntax::ast::*;
 
-use core::iterator::IteratorUtil;
 use core::float;
 use core::hashmap::{HashMap, HashSet};
 use core::vec;
diff --git a/src/librustc/middle/dataflow.rs b/src/librustc/middle/dataflow.rs
index 530f1660984..8037bacd3e7 100644
--- a/src/librustc/middle/dataflow.rs
+++ b/src/librustc/middle/dataflow.rs
@@ -18,7 +18,6 @@
 
 use core::prelude::*;
 
-use core::iterator::IteratorUtil;
 use core::cast;
 use core::io;
 use core::uint;
diff --git a/src/librustc/middle/kind.rs b/src/librustc/middle/kind.rs
index a4cac540a7e..70ad0e1c3a9 100644
--- a/src/librustc/middle/kind.rs
+++ b/src/librustc/middle/kind.rs
@@ -17,7 +17,6 @@ use middle::typeck;
 use util::ppaux::{Repr, ty_to_str};
 use util::ppaux::UserString;
 
-use core::iterator::IteratorUtil;
 use core::vec;
 use syntax::ast::*;
 use syntax::attr::attrs_contains_name;
diff --git a/src/librustc/middle/lint.rs b/src/librustc/middle/lint.rs
index 8f504266f97..c0421b2d474 100644
--- a/src/librustc/middle/lint.rs
+++ b/src/librustc/middle/lint.rs
@@ -15,7 +15,6 @@ use middle::ty;
 use middle::pat_util;
 use util::ppaux::{ty_to_str};
 
-use core::iterator::IteratorUtil;
 use core::char;
 use core::cmp;
 use core::hashmap::HashMap;
diff --git a/src/librustc/middle/liveness.rs b/src/librustc/middle/liveness.rs
index 47b55d85329..1c335ee4084 100644
--- a/src/librustc/middle/liveness.rs
+++ b/src/librustc/middle/liveness.rs
@@ -110,7 +110,6 @@ use middle::ty;
 use middle::typeck;
 use middle::moves;
 
-use core::iterator::IteratorUtil;
 use core::cast::transmute;
 use core::hashmap::HashMap;
 use core::io;
diff --git a/src/librustc/middle/mem_categorization.rs b/src/librustc/middle/mem_categorization.rs
index 3152b66440c..14764e7bc37 100644
--- a/src/librustc/middle/mem_categorization.rs
+++ b/src/librustc/middle/mem_categorization.rs
@@ -47,7 +47,6 @@
  */
 
 use core::prelude::*;
-use core::iterator::IteratorUtil;
 
 use middle::ty;
 use middle::typeck;
diff --git a/src/librustc/middle/moves.rs b/src/librustc/middle/moves.rs
index 5c1ab038940..2217e632d14 100644
--- a/src/librustc/middle/moves.rs
+++ b/src/librustc/middle/moves.rs
@@ -127,7 +127,6 @@ and so on.
 */
 
 use core::prelude::*;
-use core::iterator::IteratorUtil;
 
 use middle::pat_util::{pat_bindings};
 use middle::freevars;
diff --git a/src/librustc/middle/region.rs b/src/librustc/middle/region.rs
index e514e504fe1..f8d0b19922e 100644
--- a/src/librustc/middle/region.rs
+++ b/src/librustc/middle/region.rs
@@ -26,7 +26,6 @@ use middle::ty::{region_variance, rv_covariant, rv_invariant};
 use middle::ty::{rv_contravariant, FreeRegion};
 use middle::ty;
 
-use core::iterator::IteratorUtil;
 use core::hashmap::{HashMap, HashSet};
 use syntax::ast_map;
 use syntax::codemap::span;
diff --git a/src/librustc/middle/resolve.rs b/src/librustc/middle/resolve.rs
index 9637a32ba9f..2803608567d 100644
--- a/src/librustc/middle/resolve.rs
+++ b/src/librustc/middle/resolve.rs
@@ -40,7 +40,6 @@ use syntax::visit::{visit_foreign_item, visit_item};
 use syntax::visit::{visit_mod, visit_ty, vt};
 use syntax::opt_vec::OptVec;
 
-use core::iterator::IteratorUtil;
 use core::str;
 use core::uint;
 use core::vec;
diff --git a/src/librustc/middle/trans/_match.rs b/src/librustc/middle/trans/_match.rs
index 53d30e9c390..837a8ea29bc 100644
--- a/src/librustc/middle/trans/_match.rs
+++ b/src/librustc/middle/trans/_match.rs
@@ -172,7 +172,6 @@ use middle::trans::type_of;
 use middle::ty;
 use util::common::indenter;
 
-use core::iterator::IteratorUtil;
 use core::hashmap::HashMap;
 use core::vec;
 use syntax::ast;
diff --git a/src/librustc/middle/trans/adt.rs b/src/librustc/middle/trans/adt.rs
index 8601dfc5db8..89783f77195 100644
--- a/src/librustc/middle/trans/adt.rs
+++ b/src/librustc/middle/trans/adt.rs
@@ -44,7 +44,6 @@
  *   taken to it, implementing them for Rust seems difficult.
  */
 
-use core::iterator::IteratorUtil;
 use core::container::Map;
 use core::libc::c_ulonglong;
 use core::option::{Option, Some, None};
diff --git a/src/librustc/middle/trans/base.rs b/src/librustc/middle/trans/base.rs
index 001f85f46f4..6b56bbb470a 100644
--- a/src/librustc/middle/trans/base.rs
+++ b/src/librustc/middle/trans/base.rs
@@ -64,7 +64,6 @@ use middle::ty;
 use util::common::indenter;
 use util::ppaux::{Repr, ty_to_str};
 
-use core::iterator::IteratorUtil;
 use core::hash;
 use core::hashmap::{HashMap, HashSet};
 use core::int;
diff --git a/src/librustc/middle/trans/cabi_arm.rs b/src/librustc/middle/trans/cabi_arm.rs
index d59635ccd76..9ad66c06671 100644
--- a/src/librustc/middle/trans/cabi_arm.rs
+++ b/src/librustc/middle/trans/cabi_arm.rs
@@ -17,7 +17,6 @@ use middle::trans::cabi::{ABIInfo, FnType, LLVMType};
 use middle::trans::common::{T_i8, T_i16, T_i32, T_i64};
 use middle::trans::common::{T_array, T_ptr, T_void};
 
-use core::iterator::IteratorUtil;
 use core::option::{Option, None, Some};
 use core::uint;
 
diff --git a/src/librustc/middle/trans/cabi_mips.rs b/src/librustc/middle/trans/cabi_mips.rs
index 6be398c0bb2..83acfc661d2 100644
--- a/src/librustc/middle/trans/cabi_mips.rs
+++ b/src/librustc/middle/trans/cabi_mips.rs
@@ -10,7 +10,6 @@
 
 use core::prelude::*;
 
-use core::iterator::IteratorUtil;
 use core::libc::c_uint;
 use core::ptr;
 use core::uint;
diff --git a/src/librustc/middle/trans/cabi_x86_64.rs b/src/librustc/middle/trans/cabi_x86_64.rs
index eb2d7e619eb..3ff54e9d3d8 100644
--- a/src/librustc/middle/trans/cabi_x86_64.rs
+++ b/src/librustc/middle/trans/cabi_x86_64.rs
@@ -19,7 +19,6 @@ use lib::llvm::True;
 use middle::trans::common::*;
 use middle::trans::cabi::*;
 
-use core::iterator::IteratorUtil;
 use core::libc::c_uint;
 use core::option;
 use core::option::Option;
diff --git a/src/librustc/middle/trans/callee.rs b/src/librustc/middle/trans/callee.rs
index 2ef75157920..bfbe078c4f5 100644
--- a/src/librustc/middle/trans/callee.rs
+++ b/src/librustc/middle/trans/callee.rs
@@ -17,7 +17,6 @@
 // closure.
 
 use core::prelude::*;
-use core::iterator::IteratorUtil;
 
 use back::abi;
 use driver::session;
diff --git a/src/librustc/middle/trans/closure.rs b/src/librustc/middle/trans/closure.rs
index d5d018c0543..fcbfe62dbc9 100644
--- a/src/librustc/middle/trans/closure.rs
+++ b/src/librustc/middle/trans/closure.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 use core::prelude::*;
-use core::iterator::IteratorUtil;
 
 use back::abi;
 use back::link::{mangle_internal_name_by_path_and_seq};
diff --git a/src/librustc/middle/trans/common.rs b/src/librustc/middle/trans/common.rs
index 2c80ef7980d..9134ece7b89 100644
--- a/src/librustc/middle/trans/common.rs
+++ b/src/librustc/middle/trans/common.rs
@@ -11,7 +11,6 @@
 //! Code that is useful in various trans modules.
 
 use core::prelude::*;
-use core::iterator::IteratorUtil;
 
 use back::{abi, upcall};
 use driver::session;
diff --git a/src/librustc/middle/trans/expr.rs b/src/librustc/middle/trans/expr.rs
index 13fc610e94a..137d414e545 100644
--- a/src/librustc/middle/trans/expr.rs
+++ b/src/librustc/middle/trans/expr.rs
@@ -152,7 +152,6 @@ use middle::ty;
 use util::common::indenter;
 use util::ppaux::Repr;
 
-use core::iterator::IteratorUtil;
 use core::cast::transmute;
 use core::hashmap::HashMap;
 use core::vec;
diff --git a/src/librustc/middle/trans/inline.rs b/src/librustc/middle/trans/inline.rs
index 88f97cfa0b8..ab55c1a1455 100644
--- a/src/librustc/middle/trans/inline.rs
+++ b/src/librustc/middle/trans/inline.rs
@@ -19,7 +19,6 @@ use middle::trans::common::*;
 use middle::ty;
 use util::ppaux::ty_to_str;
 
-use core::iterator::IteratorUtil;
 use core::vec;
 use syntax::ast;
 use syntax::ast_map::path_name;
diff --git a/src/librustc/middle/trans/monomorphize.rs b/src/librustc/middle/trans/monomorphize.rs
index 54be98e4770..fab529942d9 100644
--- a/src/librustc/middle/trans/monomorphize.rs
+++ b/src/librustc/middle/trans/monomorphize.rs
@@ -32,7 +32,6 @@ use middle::ty::{FnSig};
 use middle::typeck;
 use util::ppaux::{Repr,ty_to_str};
 
-use core::iterator::IteratorUtil;
 use core::vec;
 use syntax::ast;
 use syntax::ast_map;
diff --git a/src/librustc/middle/trans/reachable.rs b/src/librustc/middle/trans/reachable.rs
index d30409ffb91..4641a13604b 100644
--- a/src/librustc/middle/trans/reachable.rs
+++ b/src/librustc/middle/trans/reachable.rs
@@ -16,7 +16,6 @@
 // reachable as well.
 
 use core::prelude::*;
-use core::iterator::IteratorUtil;
 
 use middle::resolve;
 use middle::ty;
diff --git a/src/librustc/middle/trans/type_use.rs b/src/librustc/middle/trans/type_use.rs
index d1402935e8d..8b9cdbcd6e7 100644
--- a/src/librustc/middle/trans/type_use.rs
+++ b/src/librustc/middle/trans/type_use.rs
@@ -33,7 +33,6 @@ use middle::trans::inline;
 use middle::ty;
 use middle::typeck;
 
-use core::iterator::IteratorUtil;
 use core::option::{Some, None};
 use core::uint;
 use core::vec;
diff --git a/src/librustc/middle/ty.rs b/src/librustc/middle/ty.rs
index 271bc6bfd6c..b54f362c7d2 100644
--- a/src/librustc/middle/ty.rs
+++ b/src/librustc/middle/ty.rs
@@ -27,7 +27,6 @@ use util::ppaux::{Repr, UserString};
 use util::common::{indenter};
 use util::enum_set::{EnumSet, CLike};
 
-use core::iterator::IteratorUtil;
 use core::cast;
 use core::cmp;
 use core::hashmap::{HashMap, HashSet};
diff --git a/src/librustc/middle/typeck/check/_match.rs b/src/librustc/middle/typeck/check/_match.rs
index 4a546ce20d2..97e933496c8 100644
--- a/src/librustc/middle/typeck/check/_match.rs
+++ b/src/librustc/middle/typeck/check/_match.rs
@@ -18,7 +18,6 @@ use middle::typeck::check::{instantiate_path, lookup_def};
 use middle::typeck::check::{structure_of, valid_range_bounds};
 use middle::typeck::require_same_types;
 
-use core::iterator::IteratorUtil;
 use core::hashmap::{HashMap, HashSet};
 use syntax::ast;
 use syntax::ast_util;
diff --git a/src/librustc/middle/typeck/check/mod.rs b/src/librustc/middle/typeck/check/mod.rs
index 14f251878a4..ea41dff99b8 100644
--- a/src/librustc/middle/typeck/check/mod.rs
+++ b/src/librustc/middle/typeck/check/mod.rs
@@ -111,7 +111,6 @@ use util::ppaux::{bound_region_to_str};
 use util::ppaux;
 
 
-use core::iterator::IteratorUtil;
 use core::cast::transmute;
 use core::hashmap::HashMap;
 use core::result;
diff --git a/src/librustc/middle/typeck/check/regionck.rs b/src/librustc/middle/typeck/check/regionck.rs
index 63a13789194..4cedb71245a 100644
--- a/src/librustc/middle/typeck/check/regionck.rs
+++ b/src/librustc/middle/typeck/check/regionck.rs
@@ -28,7 +28,6 @@ this point a bit better.
 */
 
 use core::prelude::*;
-use core::iterator::IteratorUtil;
 
 use middle::freevars::get_freevars;
 use middle::ty::{re_scope};
diff --git a/src/librustc/middle/typeck/check/vtable.rs b/src/librustc/middle/typeck/check/vtable.rs
index adcf17a5f3d..99e68e3330b 100644
--- a/src/librustc/middle/typeck/check/vtable.rs
+++ b/src/librustc/middle/typeck/check/vtable.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 use core::prelude::*;
-use core::iterator::IteratorUtil;
 
 use middle::resolve::Impl;
 use middle::ty::param_ty;
diff --git a/src/librustc/middle/typeck/check/writeback.rs b/src/librustc/middle/typeck/check/writeback.rs
index 8127322b836..a60fa9ee0be 100644
--- a/src/librustc/middle/typeck/check/writeback.rs
+++ b/src/librustc/middle/typeck/check/writeback.rs
@@ -13,7 +13,6 @@
 // substitutions.
 
 use core::prelude::*;
-use core::iterator::IteratorUtil;
 
 use middle::pat_util;
 use middle::ty;
diff --git a/src/librustc/middle/typeck/coherence.rs b/src/librustc/middle/typeck/coherence.rs
index 115381a76cf..9528c825fbe 100644
--- a/src/librustc/middle/typeck/coherence.rs
+++ b/src/librustc/middle/typeck/coherence.rs
@@ -54,7 +54,6 @@ use syntax::visit::{Visitor, SimpleVisitor};
 use syntax::visit::{visit_mod};
 use util::ppaux::ty_to_str;
 
-use core::iterator::IteratorUtil;
 use core::hashmap::{HashMap, HashSet};
 use core::result::Ok;
 use core::uint;
diff --git a/src/librustc/middle/typeck/collect.rs b/src/librustc/middle/typeck/collect.rs
index 6ced82df1d7..56e9875d2ba 100644
--- a/src/librustc/middle/typeck/collect.rs
+++ b/src/librustc/middle/typeck/collect.rs
@@ -31,7 +31,6 @@ are represented as `ty_param()` instances.
 */
 
 use core::prelude::*;
-use core::iterator::IteratorUtil;
 
 use metadata::csearch;
 use middle::ty::{substs, ty_param_bounds_and_ty};
diff --git a/src/librustc/middle/typeck/infer/mod.rs b/src/librustc/middle/typeck/infer/mod.rs
index 7ab51c36cf8..e0f3f0fa885 100644
--- a/src/librustc/middle/typeck/infer/mod.rs
+++ b/src/librustc/middle/typeck/infer/mod.rs
@@ -269,7 +269,6 @@ use util::ppaux::{bound_region_to_str, ty_to_str, trait_ref_to_str};
 
 use core::result;
 use core::vec;
-use core::iterator::IteratorUtil;
 use extra::list::Nil;
 use extra::smallintmap::SmallIntMap;
 use syntax::ast::{m_imm, m_mutbl};
diff --git a/src/librustc/util/ppaux.rs b/src/librustc/util/ppaux.rs
index 4979f5acf63..64af555bb37 100644
--- a/src/librustc/util/ppaux.rs
+++ b/src/librustc/util/ppaux.rs
@@ -32,7 +32,6 @@ use syntax::parse::token;
 use syntax::print::pprust;
 use syntax::{ast, ast_util};
 
-use core::iterator::IteratorUtil;
 use core::str;
 use core::vec;
 
diff --git a/src/librustdoc/desc_to_brief_pass.rs b/src/librustdoc/desc_to_brief_pass.rs
index 38a0ed7cf44..51fea9b46b3 100644
--- a/src/librustdoc/desc_to_brief_pass.rs
+++ b/src/librustdoc/desc_to_brief_pass.rs
@@ -24,7 +24,6 @@ use fold::Fold;
 use fold;
 use pass::Pass;
 
-use core::iterator::IteratorUtil;
 use core::str;
 use core::util;
 
diff --git a/src/librustdoc/doc.rs b/src/librustdoc/doc.rs
index 2f00cd0bbce..2fa4d3b63cd 100644
--- a/src/librustdoc/doc.rs
+++ b/src/librustdoc/doc.rs
@@ -14,7 +14,6 @@ use core::prelude::*;
 
 use doc;
 
-use core::iterator::IteratorUtil;
 use core::vec;
 
 pub type AstId = int;
diff --git a/src/librustdoc/pass.rs b/src/librustdoc/pass.rs
index 31adb0f3b8d..3654e2c7606 100644
--- a/src/librustdoc/pass.rs
+++ b/src/librustdoc/pass.rs
@@ -10,7 +10,6 @@
 
 use core::prelude::*;
 
-use core::iterator::IteratorUtil;
 
 use astsrv;
 use doc;
diff --git a/src/librustdoc/unindent_pass.rs b/src/librustdoc/unindent_pass.rs
index beb246857be..caf0e5376d1 100644
--- a/src/librustdoc/unindent_pass.rs
+++ b/src/librustdoc/unindent_pass.rs
@@ -21,7 +21,6 @@ middle of a line, and each of the following lines is indented.
 
 use core::prelude::*;
 
-use core::iterator::IteratorUtil;
 use core::str;
 use core::uint;
 use pass::Pass;
diff --git a/src/librusti/rusti.rc b/src/librusti/rusti.rc
index 90a5a350b7f..91658928f08 100644
--- a/src/librusti/rusti.rc
+++ b/src/librusti/rusti.rc
@@ -420,9 +420,6 @@ pub fn run_line(repl: &mut Repl, in: @io::Reader, out: @io::Writer, line: ~str,
                 use_rl: bool)
     -> Option<Repl> {
     if line.starts_with(":") {
-        // FIXME #5898: conflicts with Cell.take(), so can't be at the top level
-        use std::iterator::IteratorUtil;
-
         // drop the : and the \n (one byte each)
         let full = line.slice(1, line.len() - 1);
         let split: ~[~str] = full.word_iter().transform(|s| s.to_owned()).collect();
diff --git a/src/librustpkg/path_util.rs b/src/librustpkg/path_util.rs
index c039eeacbe4..964e1a54770 100644
--- a/src/librustpkg/path_util.rs
+++ b/src/librustpkg/path_util.rs
@@ -17,7 +17,6 @@ pub use target::{OutputType, Main, Lib, Test, Bench, Target, Build, Install};
 use core::libc::consts::os::posix88::{S_IRUSR, S_IWUSR, S_IXUSR};
 use core::os::mkdir_recursive;
 use core::os;
-use core::iterator::IteratorUtil;
 
 /// Returns the value of RUST_PATH, as a list
 /// of Paths. In general this should be read from the
diff --git a/src/librustpkg/rustpkg.rc b/src/librustpkg/rustpkg.rc
index f9dc9a6160f..2a851322356 100644
--- a/src/librustpkg/rustpkg.rc
+++ b/src/librustpkg/rustpkg.rc
@@ -29,7 +29,6 @@ extern mod syntax;
 
 use core::prelude::*;
 use core::*;
-use core::iterator::IteratorUtil;
 pub use core::path::Path;
 use core::hashmap::HashMap;
 use rustc::driver::{driver, session};
diff --git a/src/librustpkg/version.rs b/src/librustpkg/version.rs
index 0900d93e498..0601c33b25e 100644
--- a/src/librustpkg/version.rs
+++ b/src/librustpkg/version.rs
@@ -15,7 +15,6 @@ extern mod std;
 
 use extra::semver;
 use core::prelude::*;
-use core::iterator::IteratorUtil;
 use core::{char, os, result, run, str};
 use package_path::RemotePath;
 use extra::tempfile::mkdtemp;
diff --git a/src/libstd/iter.rs b/src/libstd/iter.rs
index 4886588bb94..2197feea452 100644
--- a/src/libstd/iter.rs
+++ b/src/libstd/iter.rs
@@ -24,8 +24,6 @@ An external iterator object implementing the interface in the `iterator` module
 internal iterator by calling the `advance` method. For example:
 
 ~~~ {.rust}
-use core::iterator::*;
-
 let xs = [0u, 1, 2, 3, 4, 5];
 let ys = [30, 40, 50, 60];
 let mut it = xs.iter().chain(ys.iter());
diff --git a/src/libstd/iterator.rs b/src/libstd/iterator.rs
index eedabadf74c..e65904a6899 100644
--- a/src/libstd/iterator.rs
+++ b/src/libstd/iterator.rs
@@ -45,8 +45,6 @@ pub trait IteratorUtil<A> {
     /// # Example
     ///
     /// ~~~ {.rust}
-    /// use std::iterator::*;
-    ///
     /// let a = [0];
     /// let b = [1];
     /// let mut it = a.iter().chain_(b.iter());
@@ -64,8 +62,6 @@ pub trait IteratorUtil<A> {
     /// # Example
     ///
     /// ~~~ {.rust}
-    /// use std::iterator::*;
-    ///
     /// let a = [0];
     /// let b = [1];
     /// let mut it = a.iter().zip(b.iter());
@@ -82,8 +78,6 @@ pub trait IteratorUtil<A> {
     /// # Example
     ///
     /// ~~~ {.rust}
-    /// use std::iterator::*;
-    ///
     /// let a = [1, 2];
     /// let mut it = a.iter().transform(|&x| 2 * x);
     /// assert_eq!(it.next().get(), 2);
@@ -99,8 +93,6 @@ pub trait IteratorUtil<A> {
     /// # Example
     ///
     /// ~~~ {.rust}
-    /// use std::iterator::*;
-    ///
     /// let a = [1, 2];
     /// let mut it = a.iter().filter(|&x| *x > 1);
     /// assert_eq!(it.next().get(), &2);
@@ -115,8 +107,6 @@ pub trait IteratorUtil<A> {
     /// # Example
     ///
     /// ~~~ {.rust}
-    /// use std::iterator::*;
-    ///
     /// let a = [1, 2];
     /// let mut it = a.iter().filter_map(|&x| if x > 1 {Some(2 * x)} else {None});
     /// assert_eq!(it.next().get(), 4);
@@ -130,8 +120,6 @@ pub trait IteratorUtil<A> {
     /// # Example
     ///
     /// ~~~ {.rust}
-    /// use std::iterator::*;
-    ///
     /// let a = [100, 200];
     /// let mut it = a.iter().enumerate();
     /// assert_eq!(it.next().get(), (0, &100));
@@ -147,8 +135,6 @@ pub trait IteratorUtil<A> {
     /// # Example
     ///
     /// ~~~ {.rust}
-    /// use std::iterator::*;
-    ///
     /// let a = [1, 2, 3, 2, 1];
     /// let mut it = a.iter().skip_while(|&a| *a < 3);
     /// assert_eq!(it.next().get(), &3);
@@ -165,8 +151,6 @@ pub trait IteratorUtil<A> {
     /// # Example
     ///
     /// ~~~ {.rust}
-    /// use std::iterator::*;
-    ///
     /// let a = [1, 2, 3, 2, 1];
     /// let mut it = a.iter().take_while(|&a| *a < 3);
     /// assert_eq!(it.next().get(), &1);
@@ -181,8 +165,6 @@ pub trait IteratorUtil<A> {
     /// # Example
     ///
     /// ~~~ {.rust}
-    /// use std::iterator::*;
-    ///
     /// let a = [1, 2, 3, 4, 5];
     /// let mut it = a.iter().skip(3);
     /// assert_eq!(it.next().get(), &4);
@@ -198,8 +180,6 @@ pub trait IteratorUtil<A> {
     /// # Example
     ///
     /// ~~~ {.rust}
-    /// use std::iterator::*;
-    ///
     /// let a = [1, 2, 3, 4, 5];
     /// let mut it = a.iter().take_(3);
     /// assert_eq!(it.next().get(), &1);
@@ -217,8 +197,6 @@ pub trait IteratorUtil<A> {
     /// # Example
     ///
     /// ~~~ {.rust}
-    /// use std::iterator::*;
-    ///
     /// let a = [1, 2, 3, 4, 5];
     /// let mut it = a.iter().scan(1, |fac, &x| {
     ///   *fac = *fac * x;
@@ -239,6 +217,8 @@ pub trait IteratorUtil<A> {
     /// # Example
     ///
     /// ~~~ {.rust}
+    /// use std::iterator::Counter;
+    ///
     /// for Counter::new(0, 10).advance |i| {
     ///     io::println(fmt!("%d", i));
     /// }
@@ -251,8 +231,6 @@ pub trait IteratorUtil<A> {
     /// # Example
     ///
     /// ~~~ {.rust}
-    /// use std::iterator::*;
-    ///
     /// let a = [1, 2, 3, 4, 5];
     /// let b: ~[int] = a.iter().transform(|&x| x).collect();
     /// assert!(a == b);
@@ -265,8 +243,6 @@ pub trait IteratorUtil<A> {
     /// # Example
     ///
     /// ~~~ {.rust}
-    /// use std::iterator::*;
-    ///
     /// let a = [1, 2, 3, 4, 5];
     /// let mut it = a.iter();
     /// assert!(it.nth(2).get() == &3);
@@ -280,8 +256,6 @@ pub trait IteratorUtil<A> {
     /// # Example
     ///
     /// ~~~ {.rust}
-    /// use std::iterator::*;
-    ///
     /// let a = [1, 2, 3, 4, 5];
     /// assert!(a.iter().last().get() == &5);
     /// ~~~
@@ -294,8 +268,6 @@ pub trait IteratorUtil<A> {
     /// # Example
     ///
     /// ~~~ {.rust}
-    /// use std::iterator::*;
-    ///
     /// let a = [1, 2, 3, 4, 5];
     /// assert!(a.iter().fold(0, |a, &b| a + b) == 15);
     /// ~~~
@@ -306,8 +278,6 @@ pub trait IteratorUtil<A> {
     /// # Example
     ///
     /// ~~~ {.rust}
-    /// use std::iterator::*;
-    ///
     /// let a = [1, 2, 3, 4, 5];
     /// let mut it = a.iter();
     /// assert!(it.count() == 5);
@@ -320,8 +290,6 @@ pub trait IteratorUtil<A> {
     /// # Example
     ///
     /// ~~~ {.rust}
-    /// use std::iterator::*;
-    ///
     /// let a = [1, 2, 3, 4, 5];
     /// assert!(a.iter().all(|&x| *x > 0));
     /// assert!(!a.iter().all(|&x| *x > 2));
@@ -334,8 +302,6 @@ pub trait IteratorUtil<A> {
     /// # Example
     ///
     /// ~~~ {.rust}
-    /// use std::iterator::*;
-    ///
     /// let a = [1, 2, 3, 4, 5];
     /// let mut it = a.iter();
     /// assert!(it.any_(|&x| *x == 3));
@@ -482,8 +448,6 @@ pub trait AdditiveIterator<A> {
     /// # Example
     ///
     /// ~~~ {.rust}
-    /// use std::iterator::*;
-    ///
     /// let a = [1, 2, 3, 4, 5];
     /// let mut it = a.iter().transform(|&x| x);
     /// assert!(it.sum() == 15);
@@ -504,7 +468,7 @@ pub trait MultiplicativeIterator<A> {
     /// # Example
     ///
     /// ~~~ {.rust}
-    /// use std::iterator::*;
+    /// use std::iterator::Counter;
     ///
     /// fn factorial(n: uint) -> uint {
     ///     Counter::new(1u, 1).take_while(|&i| i <= n).product()
@@ -529,8 +493,6 @@ pub trait OrdIterator<A> {
     /// # Example
     ///
     /// ~~~ {.rust}
-    /// use std::iterator::*;
-    ///
     /// let a = [1, 2, 3, 4, 5];
     /// assert!(a.iter().max().get() == &5);
     /// ~~~
@@ -541,8 +503,6 @@ pub trait OrdIterator<A> {
     /// # Example
     ///
     /// ~~~ {.rust}
-    /// use std::iterator::*;
-    ///
     /// let a = [1, 2, 3, 4, 5];
     /// assert!(a.iter().min().get() == &1);
     /// ~~~
diff --git a/src/libstd/old_iter.rs b/src/libstd/old_iter.rs
index 22ca356fa9b..9fea4376816 100644
--- a/src/libstd/old_iter.rs
+++ b/src/libstd/old_iter.rs
@@ -33,10 +33,6 @@ pub trait ReverseIter<A>: BaseIter<A> {
     fn each_reverse(&self, blk: &fn(&A) -> bool) -> bool;
 }
 
-pub trait MutableIter<A>: BaseIter<A> {
-    fn each_mut(&mut self, blk: &fn(&mut A) -> bool) -> bool;
-}
-
 pub trait ExtendedIter<A> {
     fn eachi(&self, blk: &fn(uint, v: &A) -> bool) -> bool;
     fn all(&self, blk: &fn(&A) -> bool) -> bool;
@@ -47,10 +43,6 @@ pub trait ExtendedIter<A> {
     fn flat_map_to_vec<B,IB: BaseIter<B>>(&self, op: &fn(&A) -> IB) -> ~[B];
 }
 
-pub trait ExtendedMutableIter<A> {
-    fn eachi_mut(&mut self, blk: &fn(uint, &mut A) -> bool) -> bool;
-}
-
 pub trait EqIter<A:Eq> {
     fn contains(&self, x: &A) -> bool;
     fn count(&self, x: &A) -> uint;
@@ -67,13 +59,6 @@ pub trait CopyableOrderedIter<A:Copy + Ord> {
     fn max(&self) -> A;
 }
 
-pub trait CopyableNonstrictIter<A:Copy> {
-    // Like "each", but copies out the value. If the receiver is mutated while
-    // iterating over it, the semantics must not be memory-unsafe but are
-    // otherwise undefined.
-    fn each_val(&const self, f: &fn(A) -> bool) -> bool;
-}
-
 // A trait for sequences that can be built by imperatively pushing elements
 // onto them.
 pub trait Buildable<A> {
diff --git a/src/libstd/prelude.rs b/src/libstd/prelude.rs
index 4400cb5de98..61b8d36266e 100644
--- a/src/libstd/prelude.rs
+++ b/src/libstd/prelude.rs
@@ -46,12 +46,10 @@ pub use cmp::{Eq, ApproxEq, Ord, TotalEq, TotalOrd, Ordering, Less, Equal, Great
 pub use char::Char;
 pub use container::{Container, Mutable, Map, Set};
 pub use hash::Hash;
-pub use old_iter::{BaseIter, ReverseIter, MutableIter, ExtendedIter, EqIter};
-pub use old_iter::{CopyableIter, CopyableOrderedIter, CopyableNonstrictIter};
-pub use old_iter::{ExtendedMutableIter};
+pub use old_iter::{BaseIter, ReverseIter, ExtendedIter, EqIter};
+pub use old_iter::{CopyableIter, CopyableOrderedIter};
 pub use iter::{Times, FromIter};
-// FIXME: #5898 pub use iterator::{Iterator, IteratorUtil};
-pub use iterator::Iterator;
+pub use iterator::{Iterator, IteratorUtil};
 pub use num::{Num, NumCast};
 pub use num::{Orderable, Signed, Unsigned, Round};
 pub use num::{Algebraic, Trigonometric, Exponential, Hyperbolic};
diff --git a/src/libstd/vec.rs b/src/libstd/vec.rs
index 19233c53348..91e94f7dcf8 100644
--- a/src/libstd/vec.rs
+++ b/src/libstd/vec.rs
@@ -2487,29 +2487,6 @@ impl<A> old_iter::BaseIter<A> for @[A] {
     fn size_hint(&self) -> Option<uint> { Some(self.len()) }
 }
 
-impl<'self,A> old_iter::MutableIter<A> for &'self mut [A] {
-    #[inline(always)]
-    fn each_mut<'a>(&'a mut self, blk: &fn(v: &'a mut A) -> bool) -> bool {
-        self.mut_iter().advance(blk)
-    }
-}
-
-// FIXME(#4148): This should be redundant
-impl<A> old_iter::MutableIter<A> for ~[A] {
-    #[inline(always)]
-    fn each_mut<'a>(&'a mut self, blk: &fn(v: &'a mut A) -> bool) -> bool {
-        self.mut_iter().advance(blk)
-    }
-}
-
-// FIXME(#4148): This should be redundant
-impl<A> old_iter::MutableIter<A> for @mut [A] {
-    #[inline(always)]
-    fn each_mut(&mut self, blk: &fn(v: &mut A) -> bool) -> bool {
-        self.mut_iter().advance(blk)
-    }
-}
-
 impl<'self,A> old_iter::ExtendedIter<A> for &'self [A] {
     pub fn eachi(&self, blk: &fn(uint, v: &A) -> bool) -> bool {
         old_iter::eachi(self, blk)
@@ -2535,13 +2512,6 @@ impl<'self,A> old_iter::ExtendedIter<A> for &'self [A] {
     }
 }
 
-impl<'self,A> old_iter::ExtendedMutableIter<A> for &'self mut [A] {
-    #[inline(always)]
-    pub fn eachi_mut(&mut self, blk: &fn(uint, v: &mut A) -> bool) -> bool {
-        self.mut_iter().enumerate().advance(|(i, v)| blk(i, v))
-    }
-}
-
 // FIXME(#4148): This should be redundant
 impl<A> old_iter::ExtendedIter<A> for ~[A] {
     pub fn eachi(&self, blk: &fn(uint, v: &A) -> bool) -> bool {
@@ -2660,41 +2630,6 @@ impl<A:Copy + Ord> old_iter::CopyableOrderedIter<A> for @[A] {
     fn max(&self) -> A { old_iter::max(self) }
 }
 
-impl<'self,A:Copy> old_iter::CopyableNonstrictIter<A> for &'self [A] {
-    fn each_val(&const self, f: &fn(A) -> bool) -> bool {
-        let mut i = 0;
-        while i < self.len() {
-            if !f(copy self[i]) { return false; }
-            i += 1;
-        }
-        return true;
-    }
-}
-
-// FIXME(#4148): This should be redundant
-impl<A:Copy> old_iter::CopyableNonstrictIter<A> for ~[A] {
-    fn each_val(&const self, f: &fn(A) -> bool) -> bool {
-        let mut i = 0;
-        while i < uniq_len(self) {
-            if !f(copy self[i]) { return false; }
-            i += 1;
-        }
-        return true;
-    }
-}
-
-// FIXME(#4148): This should be redundant
-impl<A:Copy> old_iter::CopyableNonstrictIter<A> for @[A] {
-    fn each_val(&const self, f: &fn(A) -> bool) -> bool {
-        let mut i = 0;
-        while i < self.len() {
-            if !f(copy self[i]) { return false; }
-            i += 1;
-        }
-        return true;
-    }
-}
-
 impl<A:Clone> Clone for ~[A] {
     #[inline]
     fn clone(&self) -> ~[A] {
@@ -4356,14 +4291,4 @@ mod tests {
         }
         assert_eq!(v, ~[~[1,2,3],~[1,3,2],~[2,1,3],~[2,3,1],~[3,1,2],~[3,2,1]]);
     }
-
-    #[test]
-    fn test_each_val() {
-        use old_iter::CopyableNonstrictIter;
-        let mut i = 0;
-        for [1, 2, 3].each_val |v| {
-            i += v;
-        }
-        assert_eq!(i, 6);
-    }
 }
diff --git a/src/libsyntax/ast_map.rs b/src/libsyntax/ast_map.rs
index ca91d3a4f8c..a7c29e8a869 100644
--- a/src/libsyntax/ast_map.rs
+++ b/src/libsyntax/ast_map.rs
@@ -22,7 +22,6 @@ use print::pprust;
 use visit;
 use syntax::parse::token::special_idents;
 
-use core::iterator::IteratorUtil;
 use core::cmp;
 use core::hashmap::HashMap;
 use core::vec;
diff --git a/src/libsyntax/ast_util.rs b/src/libsyntax/ast_util.rs
index d4aa9229319..cc89db6e189 100644
--- a/src/libsyntax/ast_util.rs
+++ b/src/libsyntax/ast_util.rs
@@ -24,7 +24,6 @@ use core::hashmap::HashMap;
 use core::int;
 use core::option;
 use core::to_bytes;
-use core::iterator::IteratorUtil;
 
 pub fn path_name_i(idents: &[ident]) -> ~str {
     // FIXME: Bad copies (#2543 -- same for everything else that says "bad")
@@ -795,7 +794,6 @@ mod test {
     use ast::*;
     use super::*;
     use core::io;
-    use core::iterator::IteratorUtil;
 
     #[test] fn xorpush_test () {
         let mut s = ~[];
diff --git a/src/libsyntax/attr.rs b/src/libsyntax/attr.rs
index 68ede15e754..a184d959390 100644
--- a/src/libsyntax/attr.rs
+++ b/src/libsyntax/attr.rs
@@ -19,7 +19,6 @@ use codemap::BytePos;
 use diagnostic::span_handler;
 use parse::comments::{doc_comment_style, strip_doc_comment_decoration};
 
-use core::iterator::IteratorUtil;
 use core::hashmap::HashSet;
 use core::vec;
 use extra;
diff --git a/src/libsyntax/diagnostic.rs b/src/libsyntax/diagnostic.rs
index 36100e3f52f..1704b4ef6c5 100644
--- a/src/libsyntax/diagnostic.rs
+++ b/src/libsyntax/diagnostic.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 use core::prelude::*;
-use core::iterator::IteratorUtil;
 
 use codemap::{Pos, span};
 use codemap;
diff --git a/src/libsyntax/ext/bytes.rs b/src/libsyntax/ext/bytes.rs
index 51fbaee7a33..59a9ec407b0 100644
--- a/src/libsyntax/ext/bytes.rs
+++ b/src/libsyntax/ext/bytes.rs
@@ -10,7 +10,6 @@
 
 /* The compiler code necessary to support the bytes! extension. */
 
-use core::iterator::IteratorUtil;
 use ast;
 use codemap::span;
 use ext::base::*;
diff --git a/src/libsyntax/ext/deriving/generic.rs b/src/libsyntax/ext/deriving/generic.rs
index 5d07171bbb1..49b3d3ec861 100644
--- a/src/libsyntax/ext/deriving/generic.rs
+++ b/src/libsyntax/ext/deriving/generic.rs
@@ -174,7 +174,6 @@ use opt_vec;
 
 use core::uint;
 use core::vec;
-use core::iterator::IteratorUtil;
 
 pub use self::ty::*;
 mod ty;
diff --git a/src/libsyntax/ext/deriving/iter_bytes.rs b/src/libsyntax/ext/deriving/iter_bytes.rs
index 453d867fce9..83cff70d459 100644
--- a/src/libsyntax/ext/deriving/iter_bytes.rs
+++ b/src/libsyntax/ext/deriving/iter_bytes.rs
@@ -16,7 +16,6 @@ use ext::base::ExtCtxt;
 use ext::build::AstBuilder;
 use ext::deriving::generic::*;
 
-use core::iterator::IteratorUtil;
 
 pub fn expand_deriving_iter_bytes(cx: @ExtCtxt,
                                   span: span,
diff --git a/src/libsyntax/ext/deriving/mod.rs b/src/libsyntax/ext/deriving/mod.rs
index 606e372a25d..0198ca424d7 100644
--- a/src/libsyntax/ext/deriving/mod.rs
+++ b/src/libsyntax/ext/deriving/mod.rs
@@ -19,7 +19,6 @@ library.
 */
 
 use core::prelude::*;
-use core::iterator::IteratorUtil;
 
 use ast::{enum_def, ident, item, Generics, meta_item, struct_def};
 use ext::base::ExtCtxt;
diff --git a/src/libsyntax/ext/expand.rs b/src/libsyntax/ext/expand.rs
index 7ca8ab911de..2e7e8240bc0 100644
--- a/src/libsyntax/ext/expand.rs
+++ b/src/libsyntax/ext/expand.rs
@@ -27,7 +27,6 @@ use parse::token::{ident_to_str, intern};
 use visit;
 use visit::Visitor;
 
-use core::iterator::IteratorUtil;
 use core::vec;
 
 pub fn expand_expr(extsbox: @mut SyntaxEnv,
diff --git a/src/libsyntax/ext/pipes/pipec.rs b/src/libsyntax/ext/pipes/pipec.rs
index b00f5057dac..9adbbb7d7f3 100644
--- a/src/libsyntax/ext/pipes/pipec.rs
+++ b/src/libsyntax/ext/pipes/pipec.rs
@@ -23,7 +23,6 @@ use ext::quote::rt::*;
 use opt_vec;
 use opt_vec::OptVec;
 
-use core::iterator::IteratorUtil;
 use core::vec;
 
 pub trait gen_send {
diff --git a/src/libsyntax/ext/tt/macro_parser.rs b/src/libsyntax/ext/tt/macro_parser.rs
index dd155869526..3fb94bbce38 100644
--- a/src/libsyntax/ext/tt/macro_parser.rs
+++ b/src/libsyntax/ext/tt/macro_parser.rs
@@ -22,7 +22,6 @@ use parse::parser::Parser;
 use parse::token::{Token, EOF, to_str, nonterminal, get_ident_interner, ident_to_str};
 use parse::token;
 
-use core::iterator::IteratorUtil;
 use core::hashmap::HashMap;
 use core::uint;
 use core::vec;
diff --git a/src/libsyntax/ext/tt/transcribe.rs b/src/libsyntax/ext/tt/transcribe.rs
index e44c3e67212..abefbedaff0 100644
--- a/src/libsyntax/ext/tt/transcribe.rs
+++ b/src/libsyntax/ext/tt/transcribe.rs
@@ -19,7 +19,6 @@ use parse::token::{EOF, INTERPOLATED, IDENT, Token, nt_ident};
 use parse::token::{ident_to_str};
 use parse::lexer::TokenAndSpan;
 
-use core::iterator::IteratorUtil;
 use core::hashmap::HashMap;
 use core::option;
 
diff --git a/src/libsyntax/parse/comments.rs b/src/libsyntax/parse/comments.rs
index 5c56ea6c446..68473f11537 100644
--- a/src/libsyntax/parse/comments.rs
+++ b/src/libsyntax/parse/comments.rs
@@ -20,7 +20,6 @@ use parse::lexer;
 use parse::token;
 use parse::token::{get_ident_interner};
 
-use core::iterator::IteratorUtil;
 use core::io;
 use core::str;
 use core::uint;
diff --git a/src/libsyntax/parse/lexer.rs b/src/libsyntax/parse/lexer.rs
index d71e2763b5c..ccc1cbd0d89 100644
--- a/src/libsyntax/parse/lexer.rs
+++ b/src/libsyntax/parse/lexer.rs
@@ -19,7 +19,6 @@ use ext::tt::transcribe::{dup_tt_reader};
 use parse::token;
 use parse::token::{str_to_ident};
 
-use core::iterator::IteratorUtil;
 use core::char;
 use core::either;
 use core::u64;
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index 47c0827eb23..4e52b6b7367 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -92,7 +92,6 @@ use parse::{new_sub_parser_from_file, next_node_id, ParseSess};
 use opt_vec;
 use opt_vec::OptVec;
 
-use core::iterator::IteratorUtil;
 use core::either::Either;
 use core::either;
 use core::hashmap::HashSet;
diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs
index c2a537dd10d..7eec9e2ee89 100644
--- a/src/libsyntax/print/pprust.rs
+++ b/src/libsyntax/print/pprust.rs
@@ -33,7 +33,6 @@ use core::char;
 use core::io;
 use core::u64;
 use core::uint;
-use core::iterator::IteratorUtil;
 
 // The @ps is stored here to prevent recursive type.
 pub enum ann_node<'self> {
diff --git a/src/libsyntax/visit.rs b/src/libsyntax/visit.rs
index 7eee2ab95ef..6e753a8cc58 100644
--- a/src/libsyntax/visit.rs
+++ b/src/libsyntax/visit.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 use core::prelude::*;
-use core::iterator::IteratorUtil;
 
 use abi::AbiSet;
 use ast::*;
diff --git a/src/test/bench/graph500-bfs.rs b/src/test/bench/graph500-bfs.rs
index bc3065fb2e6..8b7f5829cbe 100644
--- a/src/test/bench/graph500-bfs.rs
+++ b/src/test/bench/graph500-bfs.rs
@@ -21,7 +21,6 @@ use extra::arc;
 use extra::time;
 use extra::deque::Deque;
 use extra::par;
-use std::iterator::IteratorUtil;
 use std::hashmap::HashSet;
 use std::int::abs;
 use std::io;
diff --git a/src/test/bench/msgsend-ring-mutex-arcs.rs b/src/test/bench/msgsend-ring-mutex-arcs.rs
index 020b53b9d9a..2bd53f81b05 100644
--- a/src/test/bench/msgsend-ring-mutex-arcs.rs
+++ b/src/test/bench/msgsend-ring-mutex-arcs.rs
@@ -109,7 +109,7 @@ fn main() {
     thread_ring(0, msg_per_task, num_chan.take(), num_port);
 
     // synchronize
-    for futures.each_mut |f| {
+    for futures.mut_iter().advance |f| {
         f.get()
     }
 
diff --git a/src/test/bench/msgsend-ring-pipes.rs b/src/test/bench/msgsend-ring-pipes.rs
index d7b05ea6350..f2bb77b26ef 100644
--- a/src/test/bench/msgsend-ring-pipes.rs
+++ b/src/test/bench/msgsend-ring-pipes.rs
@@ -99,7 +99,7 @@ fn main() {
     thread_ring(0, msg_per_task, num_chan.take(), num_port);
 
     // synchronize
-    for futures.each_mut |f| {
+    for futures.mut_iter().advance |f| {
         let _ = f.get();
     }
 
diff --git a/src/test/bench/msgsend-ring-rw-arcs.rs b/src/test/bench/msgsend-ring-rw-arcs.rs
index f2fe45ac5bd..b5b5b685d87 100644
--- a/src/test/bench/msgsend-ring-rw-arcs.rs
+++ b/src/test/bench/msgsend-ring-rw-arcs.rs
@@ -105,7 +105,7 @@ fn main() {
     thread_ring(0, msg_per_task, num_chan.take(), num_port);
 
     // synchronize
-    for futures.each_mut |f| {
+    for futures.mut_iter().advance |f| {
         let _ = f.get();
     }
 
diff --git a/src/test/bench/shootout-fannkuch-redux.rs b/src/test/bench/shootout-fannkuch-redux.rs
index 4dd4d2b5847..1d2095df9df 100644
--- a/src/test/bench/shootout-fannkuch-redux.rs
+++ b/src/test/bench/shootout-fannkuch-redux.rs
@@ -1,4 +1,3 @@
-use std::iterator::*;
 use std::from_str::FromStr;
 use std::i32::range;
 use std::os;
diff --git a/src/test/bench/shootout-fasta-redux.rs b/src/test/bench/shootout-fasta-redux.rs
index 9e90541baab..8b587f02ad6 100644
--- a/src/test/bench/shootout-fasta-redux.rs
+++ b/src/test/bench/shootout-fasta-redux.rs
@@ -1,4 +1,3 @@
-use std::iterator::IteratorUtil;
 use std::cast::transmute;
 use std::from_str::FromStr;
 use std::libc::{FILE, STDOUT_FILENO, c_int, fdopen, fputc, fputs, fwrite, size_t};
diff --git a/src/test/bench/shootout-nbody.rs b/src/test/bench/shootout-nbody.rs
index f1fff7ea0ac..7940b5a13c1 100644
--- a/src/test/bench/shootout-nbody.rs
+++ b/src/test/bench/shootout-nbody.rs
@@ -1,4 +1,3 @@
-use std::iterator::IteratorUtil;
 use std::f64;
 use std::from_str::FromStr;
 use std::os;
diff --git a/src/test/bench/shootout-spectralnorm.rs b/src/test/bench/shootout-spectralnorm.rs
index 7356e848ba3..95139239517 100644
--- a/src/test/bench/shootout-spectralnorm.rs
+++ b/src/test/bench/shootout-spectralnorm.rs
@@ -1,7 +1,5 @@
-use std::iterator::IteratorUtil;
 use std::f64;
 use std::from_str::FromStr;
-use std::iter::ExtendedMutableIter;
 use std::os;
 use std::vec;
 
diff --git a/src/test/bench/sudoku.rs b/src/test/bench/sudoku.rs
index d05edef25a6..f66de385374 100644
--- a/src/test/bench/sudoku.rs
+++ b/src/test/bench/sudoku.rs
@@ -14,7 +14,6 @@ extern mod extra;
 
 use std::io::{ReaderUtil, WriterUtil};
 use std::io;
-use std::iterator::IteratorUtil;
 use std::os;
 use std::str;
 use std::u8;
diff --git a/src/test/compile-fail/block-arg-as-stmt-with-value.rs b/src/test/compile-fail/block-arg-as-stmt-with-value.rs
index ce8f5e502e8..c5fa8795a0b 100644
--- a/src/test/compile-fail/block-arg-as-stmt-with-value.rs
+++ b/src/test/compile-fail/block-arg-as-stmt-with-value.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::iterator::IteratorUtil;
-
 fn compute1() -> float {
     let v = ~[0f, 1f, 2f, 3f];
 
diff --git a/src/test/compile-fail/issue-3044.rs b/src/test/compile-fail/issue-3044.rs
index ee96cc293eb..f4ae436c624 100644
--- a/src/test/compile-fail/issue-3044.rs
+++ b/src/test/compile-fail/issue-3044.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::iterator::IteratorUtil;
-
 fn main() {
     let needlesArr: ~[char] = ~['a', 'f'];
     do needlesArr.iter().fold() |x, y| {
diff --git a/src/test/compile-fail/vec-mut-iter-borrow.rs b/src/test/compile-fail/vec-mut-iter-borrow.rs
index 8c78b226483..a4a488d9edd 100644
--- a/src/test/compile-fail/vec-mut-iter-borrow.rs
+++ b/src/test/compile-fail/vec-mut-iter-borrow.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::iterator::*;
-
 fn main() {
     let mut xs = ~[1, 2, 3, 4];
 
diff --git a/src/test/run-pass/block-arg-can-be-followed-by-binop.rs b/src/test/run-pass/block-arg-can-be-followed-by-binop.rs
index 522516351d2..89e8b0a244a 100644
--- a/src/test/run-pass/block-arg-can-be-followed-by-binop.rs
+++ b/src/test/run-pass/block-arg-can-be-followed-by-binop.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::iterator::IteratorUtil;
-
 pub fn main() {
     let v = ~[-1f, 0f, 1f, 2f, 3f];
 
diff --git a/src/test/run-pass/block-arg-can-be-followed-by-block-arg.rs b/src/test/run-pass/block-arg-can-be-followed-by-block-arg.rs
index c6d66e07444..f46f738feac 100644
--- a/src/test/run-pass/block-arg-can-be-followed-by-block-arg.rs
+++ b/src/test/run-pass/block-arg-can-be-followed-by-block-arg.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::iterator::IteratorUtil;
-
 pub fn main() {
     fn f(i: &fn() -> uint) -> uint { i() }
     let v = ~[-1f, 0f, 1f, 2f, 3f];
diff --git a/src/test/run-pass/block-arg-can-be-followed-by-call.rs b/src/test/run-pass/block-arg-can-be-followed-by-call.rs
index a205e9f8f31..d74d90ddacf 100644
--- a/src/test/run-pass/block-arg-can-be-followed-by-call.rs
+++ b/src/test/run-pass/block-arg-can-be-followed-by-call.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::iterator::IteratorUtil;
-
 pub fn main() {
     fn f(i: uint) -> uint { i }
     let v = ~[-1f, 0f, 1f, 2f, 3f];
diff --git a/src/test/run-pass/block-arg-in-parentheses.rs b/src/test/run-pass/block-arg-in-parentheses.rs
index 854b45f4672..4bff3c6bb64 100644
--- a/src/test/run-pass/block-arg-in-parentheses.rs
+++ b/src/test/run-pass/block-arg-in-parentheses.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::iterator::IteratorUtil;
 use std::vec;
 
 fn w_semi(v: ~[int]) -> int {
diff --git a/src/test/run-pass/block-arg.rs b/src/test/run-pass/block-arg.rs
index be575f64462..d860c84dfce 100644
--- a/src/test/run-pass/block-arg.rs
+++ b/src/test/run-pass/block-arg.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::iterator::IteratorUtil;
 use std::vec;
 
 // Check usage and precedence of block arguments in expressions:
diff --git a/src/test/run-pass/issue-2904.rs b/src/test/run-pass/issue-2904.rs
index fcebb528c10..6af19188048 100644
--- a/src/test/run-pass/issue-2904.rs
+++ b/src/test/run-pass/issue-2904.rs
@@ -14,7 +14,6 @@
 
 extern mod extra;
 
-use std::iterator::IteratorUtil;
 use std::io::ReaderUtil;
 use std::io;
 use std::str;
diff --git a/src/test/run-pass/linear-for-loop.rs b/src/test/run-pass/linear-for-loop.rs
index a42d70f5ae2..6d157b38a3f 100644
--- a/src/test/run-pass/linear-for-loop.rs
+++ b/src/test/run-pass/linear-for-loop.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::iterator::IteratorUtil;
-
 pub fn main() {
     let x = ~[1, 2, 3];
     let mut y = 0;
diff --git a/src/test/run-pass/mutability-inherits-through-fixed-length-vec.rs b/src/test/run-pass/mutability-inherits-through-fixed-length-vec.rs
index d2c8e465c11..06d3736849d 100644
--- a/src/test/run-pass/mutability-inherits-through-fixed-length-vec.rs
+++ b/src/test/run-pass/mutability-inherits-through-fixed-length-vec.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::iterator::IteratorUtil;
-
 fn test1() {
     let mut ints = [0, ..32];
     ints[0] += 1;
diff --git a/src/test/run-pass/ret-break-cont-in-block.rs b/src/test/run-pass/ret-break-cont-in-block.rs
index 4346d242c06..2b8b7c6a788 100644
--- a/src/test/run-pass/ret-break-cont-in-block.rs
+++ b/src/test/run-pass/ret-break-cont-in-block.rs
@@ -10,7 +10,6 @@
 
 // xfail-fast
 
-use std::iterator::IteratorUtil;
 use std::cmp::Eq;
 use std::vec;
 
diff --git a/src/test/run-pass/test-ignore-cfg.rs b/src/test/run-pass/test-ignore-cfg.rs
index ef110780303..e7a23244c06 100644
--- a/src/test/run-pass/test-ignore-cfg.rs
+++ b/src/test/run-pass/test-ignore-cfg.rs
@@ -13,8 +13,6 @@
 
 extern mod extra;
 
-use std::iterator::IteratorUtil;
-
 #[test]
 #[ignore(cfg(ignorecfg))]
 fn shouldignore() {
diff --git a/src/test/run-pass/utf8.rs b/src/test/run-pass/utf8.rs
index 8a845439058..cd383985c55 100644
--- a/src/test/run-pass/utf8.rs
+++ b/src/test/run-pass/utf8.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::iterator::IteratorUtil;
-
 pub fn main() {
     let yen: char = '¥'; // 0xa5
     let c_cedilla: char = 'ç'; // 0xe7
diff --git a/src/test/run-pass/utf8_chars.rs b/src/test/run-pass/utf8_chars.rs
index c126a84e782..4364bcc1274 100644
--- a/src/test/run-pass/utf8_chars.rs
+++ b/src/test/run-pass/utf8_chars.rs
@@ -10,7 +10,6 @@
 
 extern mod extra;
 
-use std::iterator::IteratorUtil;
 use std::str;
 use std::vec;