From 6ad6cc30ef70bbb1f771a551183d317170ddfd7b Mon Sep 17 00:00:00 2001 From: Andrew Paseltiner Date: Sun, 1 Nov 2015 18:04:53 -0500 Subject: [PATCH] Implement `IntoIterator` for `&{Path, PathBuf}` Closes #26220. --- src/libstd/path.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/libstd/path.rs b/src/libstd/path.rs index fe12b671235a2..78af543b1ad17 100644 --- a/src/libstd/path.rs +++ b/src/libstd/path.rs @@ -1856,6 +1856,20 @@ impl AsRef for PathBuf { fn as_ref(&self) -> &Path { self } } +#[stable(feature = "path_into_iter", since = "1.6.0")] +impl<'a> IntoIterator for &'a PathBuf { + type Item = &'a OsStr; + type IntoIter = Iter<'a>; + fn into_iter(self) -> Iter<'a> { self.iter() } +} + +#[stable(feature = "path_into_iter", since = "1.6.0")] +impl<'a> IntoIterator for &'a Path { + type Item = &'a OsStr; + type IntoIter = Iter<'a>; + fn into_iter(self) -> Iter<'a> { self.iter() } +} + #[cfg(test)] mod tests { use super::*;