]> git.lizzy.rs Git - rust.git/blobdiff - src/libsyntax/owned_slice.rs
Fill in some missing parts in the default AST visitor
[rust.git] / src / libsyntax / owned_slice.rs
index 25f1f9b8480a1204d71129325688b6f1d43c72be..83369689a94de077efbce2a8ce81ff6e32c4751e 100644 (file)
@@ -12,6 +12,7 @@
 use std::fmt;
 use std::iter::{IntoIterator, FromIterator};
 use std::ops::Deref;
+use std::slice;
 use std::vec;
 use serialize::{Encodable, Decodable, Encoder, Decoder};
 
@@ -82,6 +83,14 @@ fn from_iter<I: IntoIterator<Item=T>>(iter: I) -> OwnedSlice<T> {
     }
 }
 
+impl<'a, T> IntoIterator for &'a OwnedSlice<T> {
+    type Item = &'a T;
+    type IntoIter = slice::Iter<'a, T>;
+    fn into_iter(self) -> Self::IntoIter {
+        self.data.into_iter()
+    }
+}
+
 impl<T: Encodable> Encodable for OwnedSlice<T> {
     fn encode<S: Encoder>(&self, s: &mut S) -> Result<(), S::Error> {
         Encodable::encode(&**self, s)