about summary refs log tree commit diff
path: root/src/libstd_unicode
diff options
context:
space:
mode:
authorUlrik Sverdrup <bluss@users.noreply.github.com>2018-01-15 19:59:10 +0100
committerUlrik Sverdrup <bluss@users.noreply.github.com>2018-03-03 14:14:03 +0100
commitbc651cac8d671aee9be876b71d0fa86f94f56b0f (patch)
treec32087abc343a21ca882f9d14aed0c45b1a29164 /src/libstd_unicode
parentc9b86a91786ca54e898b54f30a6e11546b8e8026 (diff)
downloadrust-bc651cac8d671aee9be876b71d0fa86f94f56b0f.tar.gz
rust-bc651cac8d671aee9be876b71d0fa86f94f56b0f.zip
core: Stabilize FusedIterator
FusedIterator is a marker trait that promises that the implementing
iterator continues to return `None` from `.next()` once it has returned
`None` once (and/or `.next_back()`, if implemented).

The effects of FusedIterator are already widely available through
`.fuse()`, but with stable `FusedIterator`, stable Rust users can
implement this trait for their iterators when appropriate.
Diffstat (limited to 'src/libstd_unicode')
-rw-r--r--src/libstd_unicode/char.rs4
-rw-r--r--src/libstd_unicode/lib.rs1
-rw-r--r--src/libstd_unicode/u_str.rs4
3 files changed, 4 insertions, 5 deletions
diff --git a/src/libstd_unicode/char.rs b/src/libstd_unicode/char.rs
index 844ff7a3c12..2bbbf6c0655 100644
--- a/src/libstd_unicode/char.rs
+++ b/src/libstd_unicode/char.rs
@@ -70,7 +70,7 @@ impl Iterator for ToLowercase {
     }
 }
 
-#[unstable(feature = "fused", issue = "35602")]
+#[stable(feature = "fused", since = "1.25.0")]
 impl FusedIterator for ToLowercase {}
 
 /// Returns an iterator that yields the uppercase equivalent of a `char`.
@@ -92,7 +92,7 @@ impl Iterator for ToUppercase {
     }
 }
 
-#[unstable(feature = "fused", issue = "35602")]
+#[stable(feature = "fused", since = "1.25.0")]
 impl FusedIterator for ToUppercase {}
 
 #[derive(Debug)]
diff --git a/src/libstd_unicode/lib.rs b/src/libstd_unicode/lib.rs
index dcae7d0af40..f155b62e3cc 100644
--- a/src/libstd_unicode/lib.rs
+++ b/src/libstd_unicode/lib.rs
@@ -36,7 +36,6 @@
 #![feature(str_internals)]
 #![feature(decode_utf8)]
 #![feature(fn_traits)]
-#![feature(fused)]
 #![feature(lang_items)]
 #![feature(non_exhaustive)]
 #![feature(staged_api)]
diff --git a/src/libstd_unicode/u_str.rs b/src/libstd_unicode/u_str.rs
index 5d1611acb7e..ed2f205b580 100644
--- a/src/libstd_unicode/u_str.rs
+++ b/src/libstd_unicode/u_str.rs
@@ -127,7 +127,7 @@ impl<I> Iterator for Utf16Encoder<I>
     }
 }
 
-#[unstable(feature = "fused", issue = "35602")]
+#[stable(feature = "fused", since = "1.25.0")]
 impl<I> FusedIterator for Utf16Encoder<I>
     where I: FusedIterator<Item = char> {}
 
@@ -186,5 +186,5 @@ impl<'a> DoubleEndedIterator for SplitWhitespace<'a> {
     }
 }
 
-#[unstable(feature = "fused", issue = "35602")]
+#[stable(feature = "fused", since = "1.25.0")]
 impl<'a> FusedIterator for SplitWhitespace<'a> {}