From f9865eac185ef2af4df661442d5d3bd2698b725f Mon Sep 17 00:00:00 2001 From: Jorge Aparicio Date: Sat, 10 Jan 2015 21:50:07 -0500 Subject: fix fallout --- src/libstd/ascii.rs | 5 ++++- src/libstd/collections/hash/table.rs | 4 ++-- src/libstd/lib.rs | 5 +++++ src/libstd/path/windows.rs | 2 +- src/libstd/rand/os.rs | 4 +++- src/libstd/sync/mpsc/mod.rs | 8 ++++++-- src/libstd/sync/mpsc/mpsc_queue.rs | 4 +++- 7 files changed, 24 insertions(+), 8 deletions(-) (limited to 'src/libstd') diff --git a/src/libstd/ascii.rs b/src/libstd/ascii.rs index 9aa38e711e7..ffc4c5c6bac 100644 --- a/src/libstd/ascii.rs +++ b/src/libstd/ascii.rs @@ -232,7 +232,10 @@ pub fn escape_default(c: u8, mut f: F) where _ => { f(b'\\'); f(b'x'); - for &offset in [4u, 0u].iter() { + // FIXME(#21245) use a for loop + let arr = [4u, 0u]; + let mut iter = arr.iter(); + while let ::option::Option::Some(&offset) = ::iter::Iterator::next(&mut iter) { 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/table.rs b/src/libstd/collections/hash/table.rs index 9e6a45d8bf0..141c51d8363 100644 --- a/src/libstd/collections/hash/table.rs +++ b/src/libstd/collections/hash/table.rs @@ -15,7 +15,7 @@ use self::BucketState::*; use clone::Clone; use cmp; use hash::{Hash, Hasher}; -use iter::{Iterator, ExactSizeIterator, count}; +use iter::{Iterator, IteratorExt, ExactSizeIterator, count}; use marker::{Copy, Sized, self}; use mem::{min_align_of, size_of}; use mem; @@ -921,7 +921,7 @@ impl<'a, K, V> ExactSizeIterator for Drain<'a, K, V> { #[unsafe_destructor] impl<'a, K: 'a, V: 'a> Drop for Drain<'a, K, V> { fn drop(&mut self) { - for _ in *self {} + for _ in self.by_ref() {} } } diff --git a/src/libstd/lib.rs b/src/libstd/lib.rs index a016ba8fb0c..534ece52ff5 100644 --- a/src/libstd/lib.rs +++ b/src/libstd/lib.rs @@ -123,6 +123,9 @@ #![feature(rand)] #![feature(hash)] #![cfg_attr(test, feature(test))] +#![allow(unstable)] +// NOTE(stage0): remove cfg_attr after a snapshot +#![cfg_attr(not(stage0), allow(unused_mut))] // Don't link to std. We are std. #![no_std] @@ -310,4 +313,6 @@ mod std { pub use slice; pub use boxed; // used for vec![] + // for-loops + pub use iter; } diff --git a/src/libstd/path/windows.rs b/src/libstd/path/windows.rs index 88db27013ac..98e0320cd14 100644 --- a/src/libstd/path/windows.rs +++ b/src/libstd/path/windows.rs @@ -557,7 +557,7 @@ impl GenericPath for Path { } (Some(a), Some(_)) => { comps.push(".."); - for _ in itb { + for _ in itb.by_ref() { comps.push(".."); } comps.push(a); diff --git a/src/libstd/rand/os.rs b/src/libstd/rand/os.rs index 992afb2d10f..05677e1379d 100644 --- a/src/libstd/rand/os.rs +++ b/src/libstd/rand/os.rs @@ -404,7 +404,9 @@ mod test { } // start all the tasks - for tx in txs.iter() { + // FIXME(#21245) use a for loop + let mut iter = txs.iter(); + while let Some(tx) = iter.next() { tx.send(()).unwrap(); } } diff --git a/src/libstd/sync/mpsc/mod.rs b/src/libstd/sync/mpsc/mod.rs index 6a43eccbaba..b503b92b00f 100644 --- a/src/libstd/sync/mpsc/mod.rs +++ b/src/libstd/sync/mpsc/mod.rs @@ -1476,7 +1476,9 @@ mod test { let _t = Thread::spawn(move|| { let mut count = 0; - for x in rx.iter() { + // FIXME(#21245) use a for loop + let mut iter = rx.iter(); + while let Some(x) = iter.next() { if count >= 3 { break; } else { @@ -1940,7 +1942,9 @@ mod sync_tests { let _t = Thread::spawn(move|| { let mut count = 0; - for x in rx.iter() { + // FIXME(#21245) use a for loop + let mut iter = rx.iter(); + while let Some(x) = iter.next() { if count >= 3 { break; } else { diff --git a/src/libstd/sync/mpsc/mpsc_queue.rs b/src/libstd/sync/mpsc/mpsc_queue.rs index 53eba131674..cc09cfd665c 100644 --- a/src/libstd/sync/mpsc/mpsc_queue.rs +++ b/src/libstd/sync/mpsc/mpsc_queue.rs @@ -185,7 +185,9 @@ mod tests { let tx = tx.clone(); let q = q.clone(); Thread::spawn(move|| { - for i in 0..nmsgs { + // FIXME(#21245) use a for loop + let mut iter = 0..nmsgs; + while let Some(i) = iter.next() { q.push(i); } tx.send(()).unwrap(); -- cgit 1.4.1-3-g733a5