about summary refs log tree commit diff
path: root/src/libcollections/string.rs
diff options
context:
space:
mode:
authorSteven Allen <steven@stebalien.com>2016-08-13 14:42:36 -0400
committerSteven Allen <steven@stebalien.com>2016-08-18 12:16:29 -0400
commitde91872a3337dddf9a0d27df7bfb64f3965c81b0 (patch)
tree5204b54ce4d67aa5eb959f741167db6cba2f2454 /src/libcollections/string.rs
parent43c090ed69a624928c03ad61a29a59badf80ff7b (diff)
downloadrust-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/string.rs')
-rw-r--r--src/libcollections/string.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libcollections/string.rs b/src/libcollections/string.rs
index 788c838cd3f..d4de726cfaf 100644
--- a/src/libcollections/string.rs
+++ b/src/libcollections/string.rs
@@ -57,7 +57,7 @@
 
 use core::fmt;
 use core::hash;
-use core::iter::FromIterator;
+use core::iter::{FromIterator, FusedIterator};
 use core::mem;
 use core::ops::{self, Add, AddAssign, Index, IndexMut};
 use core::ptr;
@@ -1995,3 +1995,6 @@ impl<'a> DoubleEndedIterator for Drain<'a> {
         self.iter.next_back()
     }
 }
+
+#[unstable(feature = "fused", issue = "35602")]
+impl<'a> FusedIterator for Drain<'a> {}