diff options
| author | Jorge Aparicio <japaricious@gmail.com> | 2015-01-10 21:50:07 -0500 |
|---|---|---|
| committer | Jorge Aparicio <japaricious@gmail.com> | 2015-01-30 10:37:44 -0500 |
| commit | f9865eac185ef2af4df661442d5d3bd2698b725f (patch) | |
| tree | b4630177edd59031f520ab675c61411f34be2178 /src/libsyntax | |
| parent | 9fdc0effd292b097ae487ec4d927ca15102c5791 (diff) | |
| download | rust-f9865eac185ef2af4df661442d5d3bd2698b725f.tar.gz rust-f9865eac185ef2af4df661442d5d3bd2698b725f.zip | |
fix fallout
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/fold.rs | 12 | ||||
| -rw-r--r-- | src/libsyntax/lib.rs | 3 |
2 files changed, 11 insertions, 4 deletions
diff --git a/src/libsyntax/fold.rs b/src/libsyntax/fold.rs index a1362f5382c..d739e5fe6a0 100644 --- a/src/libsyntax/fold.rs +++ b/src/libsyntax/fold.rs @@ -37,10 +37,14 @@ pub trait MoveMap<T> { impl<T> MoveMap<T> for Vec<T> { fn move_map<F>(mut self, mut f: F) -> Vec<T> where F: FnMut(T) -> T { - for p in self.iter_mut() { - unsafe { - // FIXME(#5016) this shouldn't need to zero to be safe. - ptr::write(p, f(ptr::read_and_zero(p))); + // FIXME(#21245) use a for loop + { + let mut iter = self.iter_mut(); + while let Some(p) = iter.next() { + unsafe { + // FIXME(#5016) this shouldn't need to zero to be safe. + ptr::write(p, f(ptr::read_and_zero(p))); + } } } self diff --git a/src/libsyntax/lib.rs b/src/libsyntax/lib.rs index ff4c7b565cb..456c6f73ce1 100644 --- a/src/libsyntax/lib.rs +++ b/src/libsyntax/lib.rs @@ -39,6 +39,9 @@ #![feature(rustc_private)] #![feature(std_misc)] #![feature(unicode)] +#![allow(unstable)] +// NOTE(stage0) remove cfg_attr after a snapshot +#![cfg_attr(not(stage0), allow(unused_mut))] extern crate arena; extern crate fmt_macros; |
