From 3798146ce537297b48661533d5785ad80bba8e6d Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Tue, 11 Jun 2013 23:54:05 -0400 Subject: [PATCH 1/4] add IteratorUtil to the prelude --- doc/tutorial-tasks.md | 1 - src/compiletest/header.rs | 1 - src/compiletest/procsrv.rs | 1 - src/compiletest/runtest.rs | 1 - src/libextra/dlist.rs | 1 - src/libextra/fileinput.rs | 1 - src/libextra/getopts.rs | 1 - src/libextra/json.rs | 1 - src/libextra/list.rs | 1 - src/libextra/net_ip.rs | 1 - src/libextra/net_url.rs | 1 - src/libextra/num/bigint.rs | 1 - src/libextra/num/rational.rs | 1 - src/libextra/par.rs | 1 - src/libextra/rope.rs | 1 - src/libextra/semver.rs | 1 - src/libextra/sha1.rs | 2 +- src/libextra/stats.rs | 2 +- src/libextra/terminfo/parser/compiled.rs | 1 - src/libextra/terminfo/searcher.rs | 1 - src/libextra/time.rs | 1 - src/libextra/treemap.rs | 3 -- src/librust/rust.rc | 1 - src/librustc/back/link.rs | 1 - src/librustc/driver/driver.rs | 1 - src/librustc/metadata/cstore.rs | 1 - src/librustc/metadata/encoder.rs | 1 - src/librustc/middle/astencode.rs | 1 - src/librustc/middle/borrowck/check_loans.rs | 1 - .../middle/borrowck/gather_loans/mod.rs | 1 - src/librustc/middle/borrowck/move_data.rs | 1 - src/librustc/middle/check_const.rs | 1 - src/librustc/middle/check_match.rs | 1 - src/librustc/middle/const_eval.rs | 1 - src/librustc/middle/dataflow.rs | 1 - src/librustc/middle/kind.rs | 1 - src/librustc/middle/lint.rs | 1 - src/librustc/middle/liveness.rs | 1 - src/librustc/middle/mem_categorization.rs | 1 - src/librustc/middle/moves.rs | 1 - src/librustc/middle/region.rs | 1 - src/librustc/middle/resolve.rs | 1 - src/librustc/middle/trans/_match.rs | 1 - src/librustc/middle/trans/adt.rs | 1 - src/librustc/middle/trans/base.rs | 1 - src/librustc/middle/trans/cabi_arm.rs | 1 - src/librustc/middle/trans/cabi_mips.rs | 1 - src/librustc/middle/trans/cabi_x86_64.rs | 1 - src/librustc/middle/trans/callee.rs | 1 - src/librustc/middle/trans/closure.rs | 1 - src/librustc/middle/trans/common.rs | 1 - src/librustc/middle/trans/expr.rs | 1 - src/librustc/middle/trans/inline.rs | 1 - src/librustc/middle/trans/monomorphize.rs | 1 - src/librustc/middle/trans/reachable.rs | 1 - src/librustc/middle/trans/type_use.rs | 1 - src/librustc/middle/ty.rs | 1 - src/librustc/middle/typeck/check/_match.rs | 1 - src/librustc/middle/typeck/check/mod.rs | 1 - src/librustc/middle/typeck/check/regionck.rs | 1 - src/librustc/middle/typeck/check/vtable.rs | 1 - src/librustc/middle/typeck/check/writeback.rs | 1 - src/librustc/middle/typeck/coherence.rs | 1 - src/librustc/middle/typeck/collect.rs | 1 - src/librustc/middle/typeck/infer/mod.rs | 1 - src/librustc/util/ppaux.rs | 1 - src/librustdoc/desc_to_brief_pass.rs | 1 - src/librustdoc/doc.rs | 1 - src/librustdoc/pass.rs | 1 - src/librustdoc/unindent_pass.rs | 1 - src/librusti/rusti.rc | 3 -- src/librustpkg/path_util.rs | 1 - src/librustpkg/rustpkg.rc | 1 - src/librustpkg/version.rs | 1 - src/libstd/iter.rs | 2 - src/libstd/iterator.rs | 46 ++----------------- src/libstd/prelude.rs | 3 +- src/libsyntax/ast_map.rs | 1 - src/libsyntax/ast_util.rs | 2 - src/libsyntax/attr.rs | 1 - src/libsyntax/diagnostic.rs | 1 - src/libsyntax/ext/bytes.rs | 1 - src/libsyntax/ext/deriving/generic.rs | 1 - src/libsyntax/ext/deriving/iter_bytes.rs | 1 - src/libsyntax/ext/deriving/mod.rs | 1 - src/libsyntax/ext/expand.rs | 1 - src/libsyntax/ext/pipes/pipec.rs | 1 - src/libsyntax/ext/tt/macro_parser.rs | 1 - src/libsyntax/ext/tt/transcribe.rs | 1 - src/libsyntax/parse/comments.rs | 1 - src/libsyntax/parse/lexer.rs | 1 - src/libsyntax/parse/parser.rs | 1 - src/libsyntax/print/pprust.rs | 1 - src/libsyntax/visit.rs | 1 - src/test/bench/graph500-bfs.rs | 1 - src/test/bench/shootout-fannkuch-redux.rs | 1 - src/test/bench/shootout-fasta-redux.rs | 1 - src/test/bench/shootout-nbody.rs | 1 - src/test/bench/shootout-spectralnorm.rs | 1 - src/test/bench/sudoku.rs | 1 - .../block-arg-as-stmt-with-value.rs | 2 - src/test/compile-fail/issue-3044.rs | 2 - src/test/compile-fail/vec-mut-iter-borrow.rs | 2 - .../block-arg-can-be-followed-by-binop.rs | 2 - .../block-arg-can-be-followed-by-block-arg.rs | 2 - .../block-arg-can-be-followed-by-call.rs | 2 - src/test/run-pass/block-arg-in-parentheses.rs | 1 - src/test/run-pass/block-arg.rs | 1 - src/test/run-pass/issue-2904.rs | 1 - src/test/run-pass/linear-for-loop.rs | 2 - ...ility-inherits-through-fixed-length-vec.rs | 2 - src/test/run-pass/ret-break-cont-in-block.rs | 1 - src/test/run-pass/test-ignore-cfg.rs | 2 - src/test/run-pass/utf8.rs | 2 - src/test/run-pass/utf8_chars.rs | 1 - 115 files changed, 6 insertions(+), 174 deletions(-) diff --git a/doc/tutorial-tasks.md b/doc/tutorial-tasks.md index bf97c86b5c99e..6d3e83a810542 100644 --- a/doc/tutorial-tasks.md +++ b/doc/tutorial-tasks.md @@ -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 2888d4223b714..ddb68d481167a 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 9317858d6da4f..b5404e38ec961 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 c92084781287a..891935dcadd0c 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/dlist.rs b/src/libextra/dlist.rs index 7fac125243eb0..c3e2beb122f01 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 345b0e8cff769..ed38db1d686eb 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 9fe81804bd2f4..6ee1c458ea54d 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 1e9ec48aff32d..db95327f0aaca 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 0d0b5ea00f0d2..68d9bb4e1ae3a 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 { diff --git a/src/libextra/net_ip.rs b/src/libextra/net_ip.rs index 760fc7485e069..518a9d8685a5b 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 31d728f18130b..a0ce1669a448c 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 8c2615de26ba2..0d7cc78d2aab5 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 08fbb8aacc930..ebb88a1348183 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 05fe4ed72ee8e..334ab7c9c990f 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 099b257380bc4..12539cd4759d4 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 3ab8bb1f60bc2..462461439e673 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 03ceded007301..908e497b9591b 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 17bdf6c3a1dd2..13d3fd106e6db 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 690596e6248e9..81b6083db0147 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 1ef410252ab93..f825144757225 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 8b754f8c560e5..34f798e67f05e 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 0918ab8ddadad..f98758f64afe4 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 f0d4652eb1da0..9d8f1c1a09175 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 3934e94614170..c10852eda1412 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 0447481596aef..9274eb879f1ea 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 71061d9154087..2819340ae453e 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 45a7c457a4c51..48b247efabf58 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 209ab4ce3d4cb..c76d509f3bee5 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 dfbef30f896d6..e384d35373e63 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 b88d436501447..02b45995e43cd 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 6b16bb5a3c358..bd560fca9854a 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 85e2fe370762c..f44fb0e058bcf 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 116282b2627e5..15bcf3a3f9ba2 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 14fcbcc1f149c..988ad519f42bc 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 530f166098453..8037bacd3e72b 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 a4cac540a7e78..70ad0e1c3a9f5 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 8f504266f9761..c0421b2d47482 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 47b55d8532963..1c335ee408423 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 3152b66440ce9..14764e7bc37c9 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 5c1ab038940ee..2217e632d14a8 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 e514e504fe1bf..f8d0b19922e85 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 9637a32ba9f4b..2803608567d27 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 53d30e9c39043..837a8ea29bca4 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 3ec86688c3169..db6f8b17e2a2d 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 7337b07c402ad..ac8fabc634a17 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 d59635ccd762f..9ad66c066715e 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 366c0a90a4c2c..3dd59c054357d 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 eb2d7e619eb75..3ff54e9d3d8c7 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 2ef751579202f..bfbe078c4f524 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 4804058609a32..ad591336a7170 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 7e47fc47bffcc..a1321f70aefb3 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 13fc610e94a8d..137d414e545ae 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 88f97cfa0b8f5..ab55c1a145517 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 54be98e47705a..fab529942d9e0 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 d30409ffb919f..4641a13604b90 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 d1402935e8d63..8b9cdbcd6e749 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 a9ecd12bf2d76..456f1e9abced4 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 4a546ce20d2d1..97e933496c81e 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 14f251878a4d2..ea41dff99b896 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 63a13789194cb..4cedb71245a87 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 adcf17a5f3d8e..99e68e3330bf8 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 8127322b83620..a60fa9ee0be15 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 115381a76cf60..9528c825fbed9 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 6ced82df1d735..56e9875d2ba64 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 7ab51c36cf858..e0f3f0fa885b0 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 4979f5acf63c6..64af555bb37a1 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 c116ccd698692..40422ce140f6a 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 2f00cd0bbcefb..2fa4d3b63cd87 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 31adb0f3b8d27..3654e2c760607 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 beb246857be72..caf0e5376d125 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 90a5a350b7fa4..91658928f08ee 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 { 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 c039eeacbe47a..964e1a547703e 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 f9dc9a6160f90..2a8513223565d 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 0900d93e498f3..0601c33b25e59 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 4886588bb9422..2197feea4523a 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 eedabadf74c07..e65904a68992e 100644 --- a/src/libstd/iterator.rs +++ b/src/libstd/iterator.rs @@ -45,8 +45,6 @@ pub trait IteratorUtil { /// # 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 { /// # 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 { /// # 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 { /// # 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 { /// # 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 { /// # 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 { /// # 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 { /// # 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 { /// # 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 { /// # 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 { /// # 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 { /// # 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 { /// # 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 { /// # 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 { /// # 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 { /// # 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 { /// # 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 { /// # 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 { /// # 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 { /// # 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 { /// # 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 { /// # 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 { /// # Example /// /// ~~~ {.rust} - /// use std::iterator::*; - /// /// let a = [1, 2, 3, 4, 5]; /// assert!(a.iter().min().get() == &1); /// ~~~ diff --git a/src/libstd/prelude.rs b/src/libstd/prelude.rs index 4400cb5de9833..bb9cf724af1ea 100644 --- a/src/libstd/prelude.rs +++ b/src/libstd/prelude.rs @@ -50,8 +50,7 @@ pub use old_iter::{BaseIter, ReverseIter, MutableIter, ExtendedIter, EqIter}; pub use old_iter::{CopyableIter, CopyableOrderedIter, CopyableNonstrictIter}; pub use old_iter::{ExtendedMutableIter}; 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/libsyntax/ast_map.rs b/src/libsyntax/ast_map.rs index ca91d3a4f8cb9..a7c29e8a869ad 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 d4aa922931949..cc89db6e18938 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 1bf21c188862a..6a2391530083c 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 36100e3f52f99..1704b4ef6c5ba 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 51fbaee7a3396..59a9ec407b037 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 5d07171bbb1d4..49b3d3ec861af 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 453d867fce9d6..83cff70d45972 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 606e372a25da6..0198ca424d710 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 7ca8ab911de82..2e7e8240bc0d7 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 b00f5057dac99..9adbbb7d7f3ef 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 dd15586952630..3fb94bbce380d 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 e44c3e6721262..abefbedaff0a0 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 5c56ea6c446c0..68473f11537db 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 d71e2763b5cda..ccc1cbd0d8943 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 47c0827eb23c4..4e52b6b7367a5 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 c2a537dd10d8f..7eec9e2ee896d 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 7eee2ab95ef0c..6e753a8cc58e2 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 bc3065fb2e6ba..8b7f5829cbeba 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/shootout-fannkuch-redux.rs b/src/test/bench/shootout-fannkuch-redux.rs index 4dd4d2b584722..1d2095df9dfd5 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 3d5fc01afa6a2..4866f367d2b0c 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 f1fff7ea0ac07..7940b5a13c1bf 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 7356e848ba3b2..acf39a15e5fdf 100644 --- a/src/test/bench/shootout-spectralnorm.rs +++ b/src/test/bench/shootout-spectralnorm.rs @@ -1,4 +1,3 @@ -use std::iterator::IteratorUtil; use std::f64; use std::from_str::FromStr; use std::iter::ExtendedMutableIter; diff --git a/src/test/bench/sudoku.rs b/src/test/bench/sudoku.rs index d05edef25a6e2..f66de3853743a 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 ce8f5e502e831..c5fa8795a0b57 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 ee96cc293ebbf..f4ae436c624d9 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 8c78b22648393..a4a488d9edd0b 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 522516351d228..89e8b0a244a02 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 c6d66e07444c7..f46f738feac47 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 a205e9f8f31ef..d74d90ddacf56 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 854b45f4672d1..4bff3c6bb64e6 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 be575f64462be..d860c84dfcec1 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 fcebb528c10af..6af1918804895 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 a42d70f5ae2d8..6d157b38a3f74 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 d2c8e465c1160..06d3736849d52 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 4346d242c06bf..2b8b7c6a788d8 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 ef1107803037f..e7a23244c06bc 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 8a84543905825..cd383985c55a3 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 c126a84e78227..4364bcc1274d0 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; From 0b69ddab2683b5695c9616424d5e2005d83159e3 Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Wed, 12 Jun 2013 21:47:04 -0400 Subject: [PATCH 2/4] rm ExtendedMutableIter replaced with `xs.mut_iter().enumerate()` --- src/libstd/old_iter.rs | 4 ---- src/libstd/prelude.rs | 1 - src/libstd/vec.rs | 7 ------- src/test/bench/shootout-spectralnorm.rs | 1 - 4 files changed, 13 deletions(-) diff --git a/src/libstd/old_iter.rs b/src/libstd/old_iter.rs index 22ca356fa9b18..db4da833dd87f 100644 --- a/src/libstd/old_iter.rs +++ b/src/libstd/old_iter.rs @@ -47,10 +47,6 @@ pub trait ExtendedIter { fn flat_map_to_vec>(&self, op: &fn(&A) -> IB) -> ~[B]; } -pub trait ExtendedMutableIter { - fn eachi_mut(&mut self, blk: &fn(uint, &mut A) -> bool) -> bool; -} - pub trait EqIter { fn contains(&self, x: &A) -> bool; fn count(&self, x: &A) -> uint; diff --git a/src/libstd/prelude.rs b/src/libstd/prelude.rs index bb9cf724af1ea..ec0269fc462f3 100644 --- a/src/libstd/prelude.rs +++ b/src/libstd/prelude.rs @@ -48,7 +48,6 @@ 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 iter::{Times, FromIter}; pub use iterator::{Iterator, IteratorUtil}; pub use num::{Num, NumCast}; diff --git a/src/libstd/vec.rs b/src/libstd/vec.rs index 52cb20458ea54..60a3ff9bac89b 100644 --- a/src/libstd/vec.rs +++ b/src/libstd/vec.rs @@ -2529,13 +2529,6 @@ impl<'self,A> old_iter::ExtendedIter for &'self [A] { } } -impl<'self,A> old_iter::ExtendedMutableIter 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 old_iter::ExtendedIter for ~[A] { pub fn eachi(&self, blk: &fn(uint, v: &A) -> bool) -> bool { diff --git a/src/test/bench/shootout-spectralnorm.rs b/src/test/bench/shootout-spectralnorm.rs index acf39a15e5fdf..95139239517ab 100644 --- a/src/test/bench/shootout-spectralnorm.rs +++ b/src/test/bench/shootout-spectralnorm.rs @@ -1,6 +1,5 @@ use std::f64; use std::from_str::FromStr; -use std::iter::ExtendedMutableIter; use std::os; use std::vec; From d168f91baee797030cb129080fb05326d259e3db Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Wed, 12 Jun 2013 21:56:16 -0400 Subject: [PATCH 3/4] rm MutableIter replaced with mutable implementations of Iterator --- doc/tutorial-tasks.md | 2 +- src/libextra/deque.rs | 2 +- src/libstd/old_iter.rs | 4 ---- src/libstd/prelude.rs | 2 +- src/libstd/vec.rs | 23 ----------------------- src/test/bench/msgsend-ring-mutex-arcs.rs | 2 +- src/test/bench/msgsend-ring-pipes.rs | 2 +- src/test/bench/msgsend-ring-rw-arcs.rs | 2 +- 8 files changed, 6 insertions(+), 33 deletions(-) diff --git a/doc/tutorial-tasks.md b/doc/tutorial-tasks.md index 6d3e83a810542..b00cd665271f6 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)); diff --git a/src/libextra/deque.rs b/src/libextra/deque.rs index a8accc50eab01..89e23a3a77ffb 100644 --- a/src/libextra/deque.rs +++ b/src/libextra/deque.rs @@ -37,7 +37,7 @@ impl Container for Deque { impl Mutable for Deque { /// 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/libstd/old_iter.rs b/src/libstd/old_iter.rs index db4da833dd87f..e0a01a41f0a3f 100644 --- a/src/libstd/old_iter.rs +++ b/src/libstd/old_iter.rs @@ -33,10 +33,6 @@ pub trait ReverseIter: BaseIter { fn each_reverse(&self, blk: &fn(&A) -> bool) -> bool; } -pub trait MutableIter: BaseIter { - fn each_mut(&mut self, blk: &fn(&mut A) -> bool) -> bool; -} - pub trait ExtendedIter { fn eachi(&self, blk: &fn(uint, v: &A) -> bool) -> bool; fn all(&self, blk: &fn(&A) -> bool) -> bool; diff --git a/src/libstd/prelude.rs b/src/libstd/prelude.rs index ec0269fc462f3..c61995619a463 100644 --- a/src/libstd/prelude.rs +++ b/src/libstd/prelude.rs @@ -46,7 +46,7 @@ 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::{BaseIter, ReverseIter, ExtendedIter, EqIter}; pub use old_iter::{CopyableIter, CopyableOrderedIter, CopyableNonstrictIter}; pub use iter::{Times, FromIter}; pub use iterator::{Iterator, IteratorUtil}; diff --git a/src/libstd/vec.rs b/src/libstd/vec.rs index 60a3ff9bac89b..0958a4515d9dc 100644 --- a/src/libstd/vec.rs +++ b/src/libstd/vec.rs @@ -2481,29 +2481,6 @@ impl old_iter::BaseIter for @[A] { fn size_hint(&self) -> Option { Some(self.len()) } } -impl<'self,A> old_iter::MutableIter 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 old_iter::MutableIter 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 old_iter::MutableIter 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 for &'self [A] { pub fn eachi(&self, blk: &fn(uint, v: &A) -> bool) -> bool { old_iter::eachi(self, blk) diff --git a/src/test/bench/msgsend-ring-mutex-arcs.rs b/src/test/bench/msgsend-ring-mutex-arcs.rs index 020b53b9d9ae1..2bd53f81b0581 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 d7b05ea635065..f2bb77b26ef55 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 f2fe45ac5bdbe..b5b5b685d87c4 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(); } From b252c33db8270fa3f1c40ec4919c7430da8768df Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Wed, 12 Jun 2013 23:09:56 -0400 Subject: [PATCH 4/4] rm CopyableNonstrictIter copies can just be done explicitly: `xs.transform(|x|x.clone())` --- src/libstd/old_iter.rs | 7 ------- src/libstd/prelude.rs | 2 +- src/libstd/vec.rs | 45 ------------------------------------------ 3 files changed, 1 insertion(+), 53 deletions(-) diff --git a/src/libstd/old_iter.rs b/src/libstd/old_iter.rs index e0a01a41f0a3f..9fea437681615 100644 --- a/src/libstd/old_iter.rs +++ b/src/libstd/old_iter.rs @@ -59,13 +59,6 @@ pub trait CopyableOrderedIter { fn max(&self) -> A; } -pub trait CopyableNonstrictIter { - // 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 { diff --git a/src/libstd/prelude.rs b/src/libstd/prelude.rs index c61995619a463..61b8d36266e20 100644 --- a/src/libstd/prelude.rs +++ b/src/libstd/prelude.rs @@ -47,7 +47,7 @@ pub use char::Char; pub use container::{Container, Mutable, Map, Set}; pub use hash::Hash; pub use old_iter::{BaseIter, ReverseIter, ExtendedIter, EqIter}; -pub use old_iter::{CopyableIter, CopyableOrderedIter, CopyableNonstrictIter}; +pub use old_iter::{CopyableIter, CopyableOrderedIter}; pub use iter::{Times, FromIter}; pub use iterator::{Iterator, IteratorUtil}; pub use num::{Num, NumCast}; diff --git a/src/libstd/vec.rs b/src/libstd/vec.rs index 0958a4515d9dc..06ef44ad620db 100644 --- a/src/libstd/vec.rs +++ b/src/libstd/vec.rs @@ -2624,41 +2624,6 @@ impl old_iter::CopyableOrderedIter for @[A] { fn max(&self) -> A { old_iter::max(self) } } -impl<'self,A:Copy> old_iter::CopyableNonstrictIter 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 old_iter::CopyableNonstrictIter 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 old_iter::CopyableNonstrictIter 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 Clone for ~[A] { #[inline] fn clone(&self) -> ~[A] { @@ -4320,14 +4285,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); - } }