diff options
| author | Niko Matsakis <niko@alum.mit.edu> | 2015-02-11 05:59:59 -0500 |
|---|---|---|
| committer | Niko Matsakis <niko@alum.mit.edu> | 2015-02-12 13:02:37 -0500 |
| commit | bea8b81225372ebbcb42fc5a2b6f468b2df402ba (patch) | |
| tree | 550a07febb5e8c3648facdcec1f28f27a16fcb14 /src | |
| parent | acd1a0090a55bcb6810b2d6eb1676cb9a5fb65b7 (diff) | |
| download | rust-bea8b81225372ebbcb42fc5a2b6f468b2df402ba.tar.gz rust-bea8b81225372ebbcb42fc5a2b6f468b2df402ba.zip | |
Make VecPerParamSpace support IntoIterator
Diffstat (limited to 'src')
| -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` // |
