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/libcollections/enum_set.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/libcollections/enum_set.rs')
| -rw-r--r-- | src/libcollections/enum_set.rs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libcollections/enum_set.rs b/src/libcollections/enum_set.rs index 0c66c0564c3..2456a04e40a 100644 --- a/src/libcollections/enum_set.rs +++ b/src/libcollections/enum_set.rs @@ -20,7 +20,7 @@ use core::marker; use core::fmt; -use core::iter::FromIterator; +use core::iter::{FromIterator, FusedIterator}; use core::ops::{Sub, BitOr, BitAnd, BitXor}; // FIXME(contentions): implement union family of methods? (general design may be @@ -266,6 +266,9 @@ impl<E: CLike> Iterator for Iter<E> { } } +#[unstable(feature = "fused", issue = "35602")] +impl<E: CLike> FusedIterator for Iter<E> {} + impl<E: CLike> FromIterator<E> for EnumSet<E> { fn from_iter<I: IntoIterator<Item = E>>(iter: I) -> EnumSet<E> { let mut ret = EnumSet::new(); |
