@@ -18,7 +18,6 @@ use crate::num::NonZero;
18
18
/// Basic usage:
19
19
///
20
20
/// ```
21
- /// #![feature(iter_repeat_n)]
22
21
/// use std::iter;
23
22
///
24
23
/// // four of the number four:
@@ -36,7 +35,6 @@ use crate::num::NonZero;
36
35
/// For non-`Copy` types,
37
36
///
38
37
/// ```
39
- /// #![feature(iter_repeat_n)]
40
38
/// use std::iter;
41
39
///
42
40
/// let v: Vec<i32> = Vec::with_capacity(123);
@@ -58,7 +56,7 @@ use crate::num::NonZero;
58
56
/// assert_eq!(None, it.next());
59
57
/// ```
60
58
#[inline]
61
- #[unstable (feature = "iter_repeat_n", issue = "104434 ")]
59
+ #[stable (feature = "iter_repeat_n", since = "CURRENT_RUSTC_VERSION ")]
62
60
pub fn repeat_n<T: Clone>(element: T, count: usize) -> RepeatN<T> {
63
61
let mut element = ManuallyDrop::new(element);
64
62
@@ -77,7 +75,7 @@ pub fn repeat_n<T: Clone>(element: T, count: usize) -> RepeatN<T> {
77
75
/// This `struct` is created by the [`repeat_n()`] function.
78
76
/// See its documentation for more.
79
77
#[derive(Clone, Debug)]
80
- #[unstable (feature = "iter_repeat_n", issue = "104434 ")]
78
+ #[stable (feature = "iter_repeat_n", since = "CURRENT_RUSTC_VERSION ")]
81
79
pub struct RepeatN<A> {
82
80
count: usize,
83
81
// Invariant: has been dropped iff count == 0.
@@ -101,14 +99,14 @@ impl<A> RepeatN<A> {
101
99
}
102
100
}
103
101
104
- #[unstable (feature = "iter_repeat_n", issue = "104434 ")]
102
+ #[stable (feature = "iter_repeat_n", since = "CURRENT_RUSTC_VERSION ")]
105
103
impl<A> Drop for RepeatN<A> {
106
104
fn drop(&mut self) {
107
105
self.take_element();
108
106
}
109
107
}
110
108
111
- #[unstable (feature = "iter_repeat_n", issue = "104434 ")]
109
+ #[stable (feature = "iter_repeat_n", since = "CURRENT_RUSTC_VERSION ")]
112
110
impl<A: Clone> Iterator for RepeatN<A> {
113
111
type Item = A;
114
112
@@ -156,14 +154,14 @@ impl<A: Clone> Iterator for RepeatN<A> {
156
154
}
157
155
}
158
156
159
- #[unstable (feature = "iter_repeat_n", issue = "104434 ")]
157
+ #[stable (feature = "iter_repeat_n", since = "CURRENT_RUSTC_VERSION ")]
160
158
impl<A: Clone> ExactSizeIterator for RepeatN<A> {
161
159
fn len(&self) -> usize {
162
160
self.count
163
161
}
164
162
}
165
163
166
- #[unstable (feature = "iter_repeat_n", issue = "104434 ")]
164
+ #[stable (feature = "iter_repeat_n", since = "CURRENT_RUSTC_VERSION ")]
167
165
impl<A: Clone> DoubleEndedIterator for RepeatN<A> {
168
166
#[inline]
169
167
fn next_back(&mut self) -> Option<A> {
@@ -181,12 +179,12 @@ impl<A: Clone> DoubleEndedIterator for RepeatN<A> {
181
179
}
182
180
}
183
181
184
- #[unstable (feature = "iter_repeat_n", issue = "104434 ")]
182
+ #[stable (feature = "iter_repeat_n", since = "CURRENT_RUSTC_VERSION ")]
185
183
impl<A: Clone> FusedIterator for RepeatN<A> {}
186
184
187
185
#[unstable(feature = "trusted_len", issue = "37572")]
188
186
unsafe impl<A: Clone> TrustedLen for RepeatN<A> {}
189
- #[unstable (feature = "trusted_len_next_unchecked ", issue = "37572 ")]
187
+ #[stable (feature = "iter_repeat_n ", since = "CURRENT_RUSTC_VERSION ")]
190
188
impl<A: Clone> UncheckedIterator for RepeatN<A> {
191
189
#[inline]
192
190
unsafe fn next_unchecked(&mut self) -> Self::Item {
0 commit comments