about summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
authorJorge Aparicio <japaricious@gmail.com>2015-01-10 21:50:07 -0500
committerJorge Aparicio <japaricious@gmail.com>2015-01-30 10:37:44 -0500
commitf9865eac185ef2af4df661442d5d3bd2698b725f (patch)
treeb4630177edd59031f520ab675c61411f34be2178 /src/libsyntax
parent9fdc0effd292b097ae487ec4d927ca15102c5791 (diff)
downloadrust-f9865eac185ef2af4df661442d5d3bd2698b725f.tar.gz
rust-f9865eac185ef2af4df661442d5d3bd2698b725f.zip
fix fallout
Diffstat (limited to 'src/libsyntax')
-rw-r--r--src/libsyntax/fold.rs12
-rw-r--r--src/libsyntax/lib.rs3
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;