@@ -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