diff options
| -rw-r--r-- | src/librustc/middle/subst.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/librustc/middle/subst.rs b/src/librustc/middle/subst.rs index 8cb0447e732..e20968a9ac9 100644 --- a/src/librustc/middle/subst.rs +++ b/src/librustc/middle/subst.rs @@ -18,6 +18,7 @@ use middle::ty_fold::{self, TypeFoldable, TypeFolder}; use util::ppaux::Repr; use std::fmt; +use std::iter::IntoIterator; use std::slice::Iter; use std::vec::{Vec, IntoIter}; use syntax::codemap::{Span, DUMMY_SP}; @@ -529,6 +530,23 @@ impl<'a,T> Iterator for EnumeratedItems<'a,T> { } } +impl<T> IntoIterator for VecPerParamSpace<T> { + type IntoIter = IntoIter<T>; + + fn into_iter(self) -> IntoIter<T> { + self.into_vec().into_iter() + } +} + +impl<'a,T> IntoIterator for &'a VecPerParamSpace<T> { + type IntoIter = Iter<'a, T>; + + fn into_iter(self) -> Iter<'a, T> { + self.as_slice().into_iter() + } +} + + /////////////////////////////////////////////////////////////////////////// // Public trait `Subst` // |
