diff options
| author | Steven Allen <steven@stebalien.com> | 2016-08-13 14:42:36 -0400 |
|---|---|---|
| committer | Steven Allen <steven@stebalien.com> | 2016-08-18 12:16:29 -0400 |
| commit | de91872a3337dddf9a0d27df7bfb64f3965c81b0 (patch) | |
| tree | 5204b54ce4d67aa5eb959f741167db6cba2f2454 /src/libstd/path.rs | |
| parent | 43c090ed69a624928c03ad61a29a59badf80ff7b (diff) | |
| download | rust-de91872a3337dddf9a0d27df7bfb64f3965c81b0.tar.gz rust-de91872a3337dddf9a0d27df7bfb64f3965c81b0.zip | |
Add a FusedIterator trait.
This trait can be used to avoid the overhead of a fuse wrapper when an iterator is already well-behaved. Conforming to: RFC 1581 Closes: #35602
Diffstat (limited to 'src/libstd/path.rs')
| -rw-r--r-- | src/libstd/path.rs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/libstd/path.rs b/src/libstd/path.rs index 2d19561139b..bc8fd66a438 100644 --- a/src/libstd/path.rs +++ b/src/libstd/path.rs @@ -107,7 +107,7 @@ use fmt; use fs; use hash::{Hash, Hasher}; use io; -use iter; +use iter::{self, FusedIterator}; use mem; use ops::{self, Deref}; use string::String; @@ -858,6 +858,9 @@ impl<'a> DoubleEndedIterator for Iter<'a> { } } +#[unstable(feature = "fused", issue = "35602")] +impl<'a> FusedIterator for Iter<'a> {} + #[stable(feature = "rust1", since = "1.0.0")] impl<'a> Iterator for Components<'a> { type Item = Component<'a>; @@ -958,6 +961,9 @@ impl<'a> DoubleEndedIterator for Components<'a> { } } +#[unstable(feature = "fused", issue = "35602")] +impl<'a> FusedIterator for Components<'a> {} + #[stable(feature = "rust1", since = "1.0.0")] impl<'a> cmp::PartialEq for Components<'a> { fn eq(&self, other: &Components<'a>) -> bool { |
