summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorAndrew Paseltiner <apaseltiner@gmail.com>2015-11-01 18:04:53 -0500
committerAndrew Paseltiner <apaseltiner@gmail.com>2015-11-01 18:04:53 -0500
commit6ad6cc30ef70bbb1f771a551183d317170ddfd7b (patch)
tree654758e92f8fc38285f6035d7355fc4d51e4ecec /src/libstd
parentaf6e413fdb1a2ed67f6065264070135230a7d568 (diff)
downloadrust-6ad6cc30ef70bbb1f771a551183d317170ddfd7b.tar.gz
rust-6ad6cc30ef70bbb1f771a551183d317170ddfd7b.zip
Implement `IntoIterator` for `&{Path, PathBuf}`
Closes #26220.
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/path.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/libstd/path.rs b/src/libstd/path.rs
index fe12b671235..78af543b1ad 100644
--- a/src/libstd/path.rs
+++ b/src/libstd/path.rs
@@ -1856,6 +1856,20 @@ impl AsRef<Path> 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::*;