diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2015-02-02 11:01:12 -0800 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2015-02-02 11:01:12 -0800 |
| commit | 7335c7dd63cafe70ffca76677f9e33bc6eccefaa (patch) | |
| tree | 3646a5159f74b47d8bdf471eff072ea71f395d82 /src/libstd | |
| parent | 075588a4939acb47feea79779a9bdacce702d9c5 (diff) | |
| parent | 3484706c38272828efc50b2553578afc62230dbb (diff) | |
| download | rust-7335c7dd63cafe70ffca76677f9e33bc6eccefaa.tar.gz rust-7335c7dd63cafe70ffca76677f9e33bc6eccefaa.zip | |
rollup merge of #21830: japaric/for-cleanup
Conflicts: src/librustc/metadata/filesearch.rs src/librustc_back/target/mod.rs src/libstd/os.rs src/libstd/sys/windows/os.rs src/libsyntax/ext/tt/macro_parser.rs src/libsyntax/print/pprust.rs src/test/compile-fail/issue-2149.rs
Diffstat (limited to 'src/libstd')
29 files changed, 117 insertions, 90 deletions
diff --git a/src/libstd/ascii.rs b/src/libstd/ascii.rs index 9aa38e711e7..274c669d8df 100644 --- a/src/libstd/ascii.rs +++ b/src/libstd/ascii.rs @@ -134,7 +134,7 @@ impl AsciiExt<Vec<u8>> for [u8] { impl OwnedAsciiExt for Vec<u8> { #[inline] fn into_ascii_uppercase(mut self) -> Vec<u8> { - for byte in self.iter_mut() { + for byte in &mut self { *byte = byte.to_ascii_uppercase(); } self @@ -142,7 +142,7 @@ impl OwnedAsciiExt for Vec<u8> { #[inline] fn into_ascii_lowercase(mut self) -> Vec<u8> { - for byte in self.iter_mut() { + for byte in &mut self { *byte = byte.to_ascii_lowercase(); } self @@ -232,7 +232,7 @@ pub fn escape_default<F>(c: u8, mut f: F) where _ => { f(b'\\'); f(b'x'); - for &offset in [4u, 0u].iter() { + for &offset in &[4u, 0u] { match ((c as i32) >> offset) & 0xf { i @ 0 ... 9 => f(b'0' + (i as u8)), i => f(b'a' + (i as u8 - 10)), diff --git a/src/libstd/collections/hash/map.rs b/src/libstd/collections/hash/map.rs index 3e2c7627dbe..ee091d1786b 100644 --- a/src/libstd/collections/hash/map.rs +++ b/src/libstd/collections/hash/map.rs @@ -20,7 +20,7 @@ use cmp::{max, Eq, PartialEq}; use default::Default; use fmt::{self, Debug}; use hash::{self, Hash, SipHasher}; -use iter::{self, Iterator, ExactSizeIterator, IteratorExt, FromIterator, Extend, Map}; +use iter::{self, Iterator, ExactSizeIterator, IntoIterator, IteratorExt, FromIterator, Extend, Map}; use marker::Sized; use mem::{self, replace}; use num::{Int, UnsignedInt}; @@ -1385,6 +1385,42 @@ enum VacantEntryState<K, V, M> { NoElem(EmptyBucket<K, V, M>), } +impl<'a, K, V, S, H> IntoIterator for &'a HashMap<K, V, S> + where K: Eq + Hash<H>, + S: HashState<Hasher=H>, + H: hash::Hasher<Output=u64> +{ + type Iter = Iter<'a, K, V>; + + fn into_iter(self) -> Iter<'a, K, V> { + self.iter() + } +} + +impl<'a, K, V, S, H> IntoIterator for &'a mut HashMap<K, V, S> + where K: Eq + Hash<H>, + S: HashState<Hasher=H>, + H: hash::Hasher<Output=u64> +{ + type Iter = IterMut<'a, K, V>; + + fn into_iter(mut self) -> IterMut<'a, K, V> { + self.iter_mut() + } +} + +impl<K, V, S, H> IntoIterator for HashMap<K, V, S> + where K: Eq + Hash<H>, + S: HashState<Hasher=H>, + H: hash::Hasher<Output=u64> +{ + type Iter = IntoIter<K, V>; + + fn into_iter(self) -> IntoIter<K, V> { + self.into_iter() + } +} + #[stable(feature = "rust1", since = "1.0.0")] impl<'a, K, V> Iterator for Iter<'a, K, V> { type Item = (&'a K, &'a V); @@ -1539,7 +1575,7 @@ impl<K, V, S, H> Extend<(K, V)> for HashMap<K, V, S> S: HashState<Hasher=H>, H: hash::Hasher<Output=u64> { - fn extend<T: Iterator<Item=(K, V)>>(&mut self, mut iter: T) { + fn extend<T: Iterator<Item=(K, V)>>(&mut self, iter: T) { for (k, v) in iter { self.insert(k, v); } @@ -1941,7 +1977,7 @@ mod test_map { let mut observed: u32 = 0; - for (k, v) in m.iter() { + for (k, v) in &m { assert_eq!(*v, *k * 2); observed |= 1 << *k; } @@ -2131,7 +2167,7 @@ mod test_map { let map: HashMap<int, int> = xs.iter().map(|&x| x).collect(); - for &(k, v) in xs.iter() { + for &(k, v) in &xs { assert_eq!(map.get(&k), Some(&v)); } } diff --git a/src/libstd/collections/hash/set.rs b/src/libstd/collections/hash/set.rs index c6dcb0d230f..ae9fb9bca77 100644 --- a/src/libstd/collections/hash/set.rs +++ b/src/libstd/collections/hash/set.rs @@ -18,7 +18,9 @@ use default::Default; use fmt::Debug; use fmt; use hash::{self, Hash}; -use iter::{Iterator, ExactSizeIterator, IteratorExt, FromIterator, Map, Chain, Extend}; +use iter::{ + Iterator, IntoIterator, ExactSizeIterator, IteratorExt, FromIterator, Map, Chain, Extend, +}; use ops::{BitOr, BitAnd, BitXor, Sub}; use option::Option::{Some, None, self}; @@ -634,7 +636,7 @@ impl<T, S, H> Extend<T> for HashSet<T, S> S: HashState<Hasher=H>, H: hash::Hasher<Output=u64> { - fn extend<I: Iterator<Item=T>>(&mut self, mut iter: I) { + fn extend<I: Iterator<Item=T>>(&mut self, iter: I) { for k in iter { self.insert(k); } @@ -833,6 +835,30 @@ pub struct Union<'a, T: 'a, S: 'a> { iter: Chain<Iter<'a, T>, Difference<'a, T, S>> } +impl<'a, T, S, H> IntoIterator for &'a HashSet<T, S> + where T: Eq + Hash<H>, + S: HashState<Hasher=H>, + H: hash::Hasher<Output=u64> +{ + type Iter = Iter<'a, T>; + + fn into_iter(self) -> Iter<'a, T> { + self.iter() + } +} + +impl<T, S, H> IntoIterator for HashSet<T, S> + where T: Eq + Hash<H>, + S: HashState<Hasher=H>, + H: hash::Hasher<Output=u64> +{ + type Iter = IntoIter<T>; + + fn into_iter(self) -> IntoIter<T> { + self.into_iter() + } +} + #[stable(feature = "rust1", since = "1.0.0")] impl<'a, K> Iterator for Iter<'a, K> { type Item = &'a K; @@ -1007,7 +1033,7 @@ mod test_set { assert!(a.insert(i)); } let mut observed: u32 = 0; - for k in a.iter() { + for k in &a { observed |= 1 << *k; } assert_eq!(observed, 0xFFFF_FFFF); @@ -1128,7 +1154,7 @@ mod test_set { let set: HashSet<int> = xs.iter().map(|&x| x).collect(); - for x in xs.iter() { + for x in &xs { assert!(set.contains(x)); } } @@ -1214,7 +1240,7 @@ mod test_set { assert_eq!(last_i, 49); } - for _ in s.iter() { panic!("s should be empty!"); } + for _ in &s { panic!("s should be empty!"); } // reset to try again. s.extend(1..100); diff --git a/src/libstd/ffi/os_str.rs b/src/libstd/ffi/os_str.rs index 57489e86230..b8d770e6ad6 100644 --- a/src/libstd/ffi/os_str.rs +++ b/src/libstd/ffi/os_str.rs @@ -89,17 +89,6 @@ impl OsString { } } -#[cfg(stage0)] -impl ops::Index<ops::FullRange> for OsString { - type Output = OsStr; - - #[inline] - fn index(&self, _index: &ops::FullRange) -> &OsStr { - unsafe { mem::transmute(self.inner.as_slice()) } - } -} - -#[cfg(not(stage0))] impl ops::Index<ops::RangeFull> for OsString { type Output = OsStr; diff --git a/src/libstd/fmt.rs b/src/libstd/fmt.rs index 8e86aa65196..47f5d64e260 100644 --- a/src/libstd/fmt.rs +++ b/src/libstd/fmt.rs @@ -413,10 +413,6 @@ pub use core::fmt::{LowerExp, UpperExp}; pub use core::fmt::Error; pub use core::fmt::{ArgumentV1, Arguments, write, radix, Radix, RadixFmt}; -#[doc(hidden)] -#[cfg(stage0)] -pub use core::fmt::{argument, argumentuint}; - /// The format function takes a precompiled format string and a list of /// arguments, to return the resulting formatted string. /// diff --git a/src/libstd/lib.rs b/src/libstd/lib.rs index 487efb43326..839983d336d 100644 --- a/src/libstd/lib.rs +++ b/src/libstd/lib.rs @@ -120,14 +120,13 @@ #![feature(staged_api)] #![feature(unboxed_closures)] #![feature(unicode)] -#![cfg_attr(not(stage0), feature(macro_reexport))] +#![feature(macro_reexport)] #![cfg_attr(test, feature(test))] // Don't link to std. We are std. #![no_std] #![deny(missing_docs)] -#![cfg_attr(not(stage0), allow(unused_mut))] // NOTE: remove after stage0 snap #[cfg(test)] #[macro_use] diff --git a/src/libstd/old_io/extensions.rs b/src/libstd/old_io/extensions.rs index f429f731b7d..d729c2800ce 100644 --- a/src/libstd/old_io/extensions.rs +++ b/src/libstd/old_io/extensions.rs @@ -406,12 +406,12 @@ mod test { let uints = [0, 1, 2, 42, 10_123, 100_123_456, ::u64::MAX]; let mut writer = Vec::new(); - for i in uints.iter() { + for i in &uints { writer.write_le_u64(*i).unwrap(); } let mut reader = MemReader::new(writer); - for i in uints.iter() { + for i in &uints { assert!(reader.read_le_u64().unwrap() == *i); } } @@ -422,12 +422,12 @@ mod test { let uints = [0, 1, 2, 42, 10_123, 100_123_456, ::u64::MAX]; let mut writer = Vec::new(); - for i in uints.iter() { + for i in &uints { writer.write_be_u64(*i).unwrap(); } let mut reader = MemReader::new(writer); - for i in uints.iter() { + for i in &uints { assert!(reader.read_be_u64().unwrap() == *i); } } @@ -437,12 +437,12 @@ mod test { let ints = [::i32::MIN, -123456, -42, -5, 0, 1, ::i32::MAX]; let mut writer = Vec::new(); - for i in ints.iter() { + for i in &ints { writer.write_be_i32(*i).unwrap(); } let mut reader = MemReader::new(writer); - for i in ints.iter() { + for i in &ints { // this tests that the sign extension is working // (comparing the values as i32 would not test this) assert!(reader.read_be_int_n(4).unwrap() == *i as i64); diff --git a/src/libstd/old_io/fs.rs b/src/libstd/old_io/fs.rs index 0a9aeb849be..abf215988bb 100644 --- a/src/libstd/old_io/fs.rs +++ b/src/libstd/old_io/fs.rs @@ -597,7 +597,7 @@ pub fn mkdir_recursive(path: &Path, mode: FilePermission) -> IoResult<()> { return Ok(()) } - let mut comps = path.components(); + let comps = path.components(); let mut curpath = path.root_path().unwrap_or(Path::new(".")); for c in comps { @@ -649,7 +649,7 @@ pub fn rmdir_recursive(path: &Path) -> IoResult<()> { // delete all regular files in the way and push subdirs // on the stack - for child in children.into_iter() { + for child in children { // FIXME(#12795) we should use lstat in all cases let child_type = match cfg!(windows) { true => try!(update_err(stat(&child), path)), @@ -1110,7 +1110,7 @@ mod test { } let files = check!(readdir(dir)); let mut mem = [0u8; 4]; - for f in files.iter() { + for f in &files { { let n = f.filestem_str(); check!(File::open(f).read(&mut mem)); diff --git a/src/libstd/old_io/net/addrinfo.rs b/src/libstd/old_io/net/addrinfo.rs index e37744f3aa3..2b7506b5c34 100644 --- a/src/libstd/old_io/net/addrinfo.rs +++ b/src/libstd/old_io/net/addrinfo.rs @@ -121,7 +121,7 @@ mod test { let ipaddrs = get_host_addresses("localhost").unwrap(); let mut found_local = false; let local_addr = &Ipv4Addr(127, 0, 0, 1); - for addr in ipaddrs.iter() { + for addr in &ipaddrs { found_local = found_local || addr == local_addr; } assert!(found_local); diff --git a/src/libstd/old_io/net/ip.rs b/src/libstd/old_io/net/ip.rs index 565f9d83818..d85251795c8 100644 --- a/src/libstd/old_io/net/ip.rs +++ b/src/libstd/old_io/net/ip.rs @@ -125,7 +125,7 @@ impl<'a> Parser<'a> { // Return result of first successful parser fn read_or<T>(&mut self, parsers: &mut [Box<FnMut(&mut Parser) -> Option<T>>]) -> Option<T> { - for pf in parsers.iter_mut() { + for pf in parsers { match self.read_atomically(|p: &mut Parser| pf.call_mut((p,))) { Some(r) => return Some(r), None => {} diff --git a/src/libstd/old_io/net/mod.rs b/src/libstd/old_io/net/mod.rs index d8394aa8b6a..bbe3a71dcc0 100644 --- a/src/libstd/old_io/net/mod.rs +++ b/src/libstd/old_io/net/mod.rs @@ -36,7 +36,7 @@ fn with_addresses<A, T, F>(addr: A, mut action: F) -> IoResult<T> where let addresses = try!(addr.to_socket_addr_all()); let mut err = DEFAULT_ERROR; - for addr in addresses.into_iter() { + for addr in addresses { match action(addr) { Ok(r) => return Ok(r), Err(e) => err = e diff --git a/src/libstd/old_io/process.rs b/src/libstd/old_io/process.rs index 81903d0a97e..61a07bc8208 100644 --- a/src/libstd/old_io/process.rs +++ b/src/libstd/old_io/process.rs @@ -401,7 +401,7 @@ impl fmt::Debug for Command { /// character. fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { try!(write!(f, "{:?}", self.program)); - for arg in self.args.iter() { + for arg in &self.args { try!(write!(f, " '{:?}'", arg)); } Ok(()) @@ -1046,7 +1046,7 @@ mod tests { let output = String::from_utf8(prog.wait_with_output().unwrap().output).unwrap(); let r = os::env(); - for &(ref k, ref v) in r.iter() { + for &(ref k, ref v) in &r { // don't check windows magical empty-named variables assert!(k.is_empty() || output.contains(format!("{}={}", *k, *v).as_slice()), @@ -1064,7 +1064,7 @@ mod tests { let output = String::from_utf8(prog.wait_with_output().unwrap().output).unwrap(); let r = os::env(); - for &(ref k, ref v) in r.iter() { + for &(ref k, ref v) in &r { // don't check android RANDOM variables if *k != "RANDOM".to_string() { assert!(output.contains(format!("{}={}", diff --git a/src/libstd/old_io/test.rs b/src/libstd/old_io/test.rs index 3f4e070e30d..ee72beccfa8 100644 --- a/src/libstd/old_io/test.rs +++ b/src/libstd/old_io/test.rs @@ -92,7 +92,7 @@ fn base_port() -> u16 { let mut final_base = base; - for &(dir, base) in bases.iter() { + for &(dir, base) in &bases { if path_s.contains(dir) { final_base = base; break; diff --git a/src/libstd/old_io/util.rs b/src/libstd/old_io/util.rs index 9a55f32c372..f78e3ac1f14 100644 --- a/src/libstd/old_io/util.rs +++ b/src/libstd/old_io/util.rs @@ -144,7 +144,7 @@ impl<W> MultiWriter<W> where W: Writer { impl<W> Writer for MultiWriter<W> where W: Writer { #[inline] fn write_all(&mut self, buf: &[u8]) -> old_io::IoResult<()> { - for writer in self.writers.iter_mut() { + for writer in &mut self.writers { try!(writer.write_all(buf)); } Ok(()) @@ -152,7 +152,7 @@ impl<W> Writer for MultiWriter<W> where W: Writer { #[inline] fn flush(&mut self) -> old_io::IoResult<()> { - for writer in self.writers.iter_mut() { + for writer in &mut self.writers { try!(writer.flush()); } Ok(()) diff --git a/src/libstd/os.rs b/src/libstd/os.rs index fbb70fc5b6b..d92f361af0b 100644 --- a/src/libstd/os.rs +++ b/src/libstd/os.rs @@ -924,7 +924,7 @@ impl MemoryMap { let mut custom_flags = false; let len = round_up(min_len, env::page_size()); - for &o in options.iter() { + for &o in options { match o { MapReadable => { prot |= libc::PROT_READ; }, MapWritable => { prot |= libc::PROT_WRITE; }, @@ -1003,7 +1003,7 @@ impl MemoryMap { let mut offset: uint = 0; let len = round_up(min_len, env::page_size()); - for &o in options.iter() { + for &o in options { match o { MapReadable => { readable = true; }, MapWritable => { writable = true; }, @@ -1519,7 +1519,7 @@ mod tests { fn test_env_getenv() { let e = env(); assert!(e.len() > 0u); - for p in e.iter() { + for p in &e { let (n, v) = (*p).clone(); debug!("{}", n); let v2 = getenv(n.as_slice()); @@ -1574,7 +1574,7 @@ mod tests { setenv("HOME", ""); assert!(os::homedir().is_none()); - for s in oldhome.iter() { + if let Some(s) = oldhome { setenv("HOME", s.as_slice()); } } @@ -1603,10 +1603,10 @@ mod tests { setenv("USERPROFILE", "/home/PaloAlto"); assert!(os::homedir() == Some(Path::new("/home/MountainView"))); - for s in oldhome.iter() { + if let Some(s) = oldhome { setenv("HOME", s.as_slice()); } - for s in olduserprofile.iter() { + if let Some(s) = olduserprofile { setenv("USERPROFILE", s.as_slice()); } } diff --git a/src/libstd/path/mod.rs b/src/libstd/path/mod.rs index b5409da9c9c..0d80258d7e0 100644 --- a/src/libstd/path/mod.rs +++ b/src/libstd/path/mod.rs @@ -68,8 +68,6 @@ use fmt; use iter::IteratorExt; use option::Option; use option::Option::{None, Some}; -#[cfg(stage0)] -use ops::FullRange; use str; use str::StrExt; use string::{String, CowString}; @@ -625,11 +623,11 @@ pub trait GenericPath: Clone + GenericPathUnsafe { fn push_many<T: BytesContainer>(&mut self, paths: &[T]) { let t: Option<&T> = None; if BytesContainer::is_str(t) { - for p in paths.iter() { + for p in paths { self.push(p.container_as_str().unwrap()) } } else { - for p in paths.iter() { + for p in paths { self.push(p.container_as_bytes()) } } diff --git a/src/libstd/path/windows.rs b/src/libstd/path/windows.rs index b524b89ef9f..7ddd919c11e 100644 --- a/src/libstd/path/windows.rs +++ b/src/libstd/path/windows.rs @@ -25,8 +25,6 @@ use iter::{AdditiveIterator, Extend}; use iter::{Iterator, IteratorExt, Map, repeat}; use mem; use option::Option::{self, Some, None}; -#[cfg(stage0)] -use ops::FullRange; use result::Result::{self, Ok, Err}; use slice::{SliceExt, SliceConcatExt}; use str::{SplitTerminator, FromStr, StrExt}; diff --git a/src/libstd/prelude/v1.rs b/src/libstd/prelude/v1.rs index b3c4ffa5120..2398485afef 100644 --- a/src/libstd/prelude/v1.rs +++ b/src/libstd/prelude/v1.rs @@ -18,10 +18,6 @@ #[stable(feature = "rust1", since = "1.0.0")] #[doc(no_inline)] pub use ops::{Drop, Fn, FnMut, FnOnce}; -#[cfg(stage0)] -#[unstable(feature = "std_misc")] -#[doc(no_inline)] pub use ops::FullRange; - // Reexported functions #[stable(feature = "rust1", since = "1.0.0")] #[doc(no_inline)] pub use mem::drop; diff --git a/src/libstd/rand/mod.rs b/src/libstd/rand/mod.rs index 211abc2fc83..cc72c5bed99 100644 --- a/src/libstd/rand/mod.rs +++ b/src/libstd/rand/mod.rs @@ -464,7 +464,7 @@ mod test { // check every remainder mod 8, both in small and big vectors. let lengths = [0, 1, 2, 3, 4, 5, 6, 7, 80, 81, 82, 83, 84, 85, 86, 87]; - for &n in lengths.iter() { + for &n in &lengths { let mut v = repeat(0u8).take(n).collect::<Vec<_>>(); r.fill_bytes(v.as_mut_slice()); diff --git a/src/libstd/rand/os.rs b/src/libstd/rand/os.rs index 992afb2d10f..4b45d5501c2 100644 --- a/src/libstd/rand/os.rs +++ b/src/libstd/rand/os.rs @@ -404,7 +404,7 @@ mod test { } // start all the tasks - for tx in txs.iter() { + for tx in &txs { tx.send(()).unwrap(); } } diff --git a/src/libstd/rt/at_exit_imp.rs b/src/libstd/rt/at_exit_imp.rs index 5823f8453d8..3f15cf71ec3 100644 --- a/src/libstd/rt/at_exit_imp.rs +++ b/src/libstd/rt/at_exit_imp.rs @@ -58,7 +58,7 @@ pub fn cleanup() { // If we never called init, not need to cleanup! if queue as uint != 0 { let queue: Box<Queue> = mem::transmute(queue); - for to_run in queue.into_iter() { + for to_run in *queue { to_run.invoke(()); } } diff --git a/src/libstd/rt/unwind.rs b/src/libstd/rt/unwind.rs index fb40a6c8f60..81ca5aa0e8a 100644 --- a/src/libstd/rt/unwind.rs +++ b/src/libstd/rt/unwind.rs @@ -160,7 +160,7 @@ pub fn panicking() -> bool { // An uninlined, unmangled function upon which to slap yer breakpoints #[inline(never)] #[no_mangle] -#[cfg_attr(not(stage0), allow(private_no_mangle_fns))] +#[allow(private_no_mangle_fns)] fn rust_panic(cause: Box<Any + Send>) -> ! { rtdebug!("begin_unwind()"); @@ -238,7 +238,7 @@ pub mod eabi { #[lang="eh_personality"] #[no_mangle] // referenced from rust_try.ll - #[cfg_attr(not(stage0), allow(private_no_mangle_fns))] + #[allow(private_no_mangle_fns)] extern fn rust_eh_personality( version: c_int, actions: uw::_Unwind_Action, @@ -551,7 +551,7 @@ fn begin_unwind_inner(msg: Box<Any + Send>, file_line: &(&'static str, uint)) -> let amt = CALLBACK_CNT.load(Ordering::SeqCst); &CALLBACKS[..cmp::min(amt, MAX_CALLBACKS)] }; - for cb in callbacks.iter() { + for cb in callbacks { match cb.load(Ordering::SeqCst) { 0 => {} n => { diff --git a/src/libstd/sync/rwlock.rs b/src/libstd/sync/rwlock.rs index 95b570dd9c8..2dfc708e15b 100644 --- a/src/libstd/sync/rwlock.rs +++ b/src/libstd/sync/rwlock.rs @@ -508,7 +508,7 @@ mod tests { } // Wait for children to pass their asserts - for r in children.into_iter() { + for r in children { assert!(r.join().is_ok()); } diff --git a/src/libstd/sys/common/net.rs b/src/libstd/sys/common/net.rs index c826522e5d1..833de8adda4 100644 --- a/src/libstd/sys/common/net.rs +++ b/src/libstd/sys/common/net.rs @@ -554,7 +554,7 @@ pub fn await(fds: &[sock_t], deadline: Option<u64>, status: SocketStatus) -> IoResult<()> { let mut set: c::fd_set = unsafe { mem::zeroed() }; let mut max = 0; - for &fd in fds.iter() { + for &fd in fds { c::fd_set(&mut set, fd); max = cmp::max(max, fd + 1); } diff --git a/src/libstd/sys/common/wtf8.rs b/src/libstd/sys/common/wtf8.rs index fdcb0c19f30..b30af10986b 100644 --- a/src/libstd/sys/common/wtf8.rs +++ b/src/libstd/sys/common/wtf8.rs @@ -366,7 +366,7 @@ impl FromIterator<CodePoint> for Wtf8Buf { /// This replaces surrogate code point pairs with supplementary code points, /// like concatenating ill-formed UTF-16 strings effectively would. impl Extend<CodePoint> for Wtf8Buf { - fn extend<T: Iterator<Item=CodePoint>>(&mut self, mut iterator: T) { + fn extend<T: Iterator<Item=CodePoint>>(&mut self, iterator: T) { let (low, _high) = iterator.size_hint(); // Lower bound of one byte per code point (ASCII only) self.bytes.reserve(low); @@ -680,17 +680,6 @@ impl ops::Index<ops::RangeTo<usize>> for Wtf8 { } } -#[cfg(stage0)] -impl ops::Index<ops::FullRange> for Wtf8 { - type Output = Wtf8; - - #[inline] - fn index(&self, _range: &ops::FullRange) -> &Wtf8 { - self - } -} - -#[cfg(not(stage0))] impl ops::Index<ops::RangeFull> for Wtf8 { type Output = Wtf8; diff --git a/src/libstd/sys/unix/process.rs b/src/libstd/sys/unix/process.rs index 7618e1990f3..7e117b10a34 100644 --- a/src/libstd/sys/unix/process.rs +++ b/src/libstd/sys/unix/process.rs @@ -558,7 +558,7 @@ fn with_envp<K,V,T,F>(env: Option<&HashMap<K, V>>, Some(env) => { let mut tmps = Vec::with_capacity(env.len()); - for pair in env.iter() { + for pair in env { let mut kv = Vec::new(); kv.push_all(pair.0.container_as_bytes()); kv.push('=' as u8); diff --git a/src/libstd/sys/windows/process.rs b/src/libstd/sys/windows/process.rs index 043fdb38805..3ca735f7fdf 100644 --- a/src/libstd/sys/windows/process.rs +++ b/src/libstd/sys/windows/process.rs @@ -142,12 +142,12 @@ impl Process { // To have the spawning semantics of unix/windows stay the same, we need to // read the *child's* PATH if one is provided. See #15149 for more details. let program = cfg.env().and_then(|env| { - for (key, v) in env.iter() { + for (key, v) in env { if b"PATH" != key.container_as_bytes() { continue } // Split the value and test each path to see if the // program exists. - for path in os::split_paths(v.container_as_bytes()).into_iter() { + for path in os::split_paths(v.container_as_bytes()) { let path = path.join(cfg.program().as_bytes()) .with_extension(env::consts::EXE_EXTENSION); if path.exists() { @@ -372,7 +372,7 @@ fn make_command_line(prog: &CString, args: &[CString]) -> String { let mut cmd = String::new(); append_arg(&mut cmd, str::from_utf8(prog.as_bytes()).ok() .expect("expected program name to be utf-8 encoded")); - for arg in args.iter() { + for arg in args { cmd.push(' '); append_arg(&mut cmd, str::from_utf8(arg.as_bytes()).ok() .expect("expected argument to be utf-8 encoded")); @@ -437,7 +437,7 @@ fn with_envp<K, V, T, F>(env: Option<&collections::HashMap<K, V>>, cb: F) -> T Some(env) => { let mut blk = Vec::new(); - for pair in env.iter() { + for pair in env { let kv = format!("{}={}", pair.0.container_as_str().unwrap(), pair.1.container_as_str().unwrap()); diff --git a/src/libstd/sys/windows/thread_local.rs b/src/libstd/sys/windows/thread_local.rs index cc731738afe..54a32e43daf 100644 --- a/src/libstd/sys/windows/thread_local.rs +++ b/src/libstd/sys/windows/thread_local.rs @@ -249,7 +249,7 @@ unsafe fn run_dtors() { DTOR_LOCK.unlock(); ret }; - for &(key, dtor) in dtors.iter() { + for &(key, dtor) in &dtors { let ptr = TlsGetValue(key); if !ptr.is_null() { TlsSetValue(key, ptr::null_mut()); diff --git a/src/libstd/thread_local/mod.rs b/src/libstd/thread_local/mod.rs index 2a9bf452329..d4d777789dd 100644 --- a/src/libstd/thread_local/mod.rs +++ b/src/libstd/thread_local/mod.rs @@ -425,7 +425,7 @@ mod imp { unsafe extern fn run_dtors(mut ptr: *mut u8) { while !ptr.is_null() { let list: Box<List> = mem::transmute(ptr); - for &(ptr, dtor) in list.iter() { + for &(ptr, dtor) in &*list { dtor(ptr); } ptr = DTORS.get(); |
