|
1 |
| -use crate::marker::Destruct; |
2 | 1 | use crate::num::NonZeroUsize;
|
3 | 2 | use crate::ops::{ControlFlow, Try};
|
4 | 3 |
|
@@ -39,7 +38,6 @@ use crate::ops::{ControlFlow, Try};
|
39 | 38 | /// ```
|
40 | 39 | #[stable(feature = "rust1", since = "1.0.0")]
|
41 | 40 | #[cfg_attr(not(test), rustc_diagnostic_item = "DoubleEndedIterator")]
|
42 |
| -#[const_trait] |
43 | 41 | pub trait DoubleEndedIterator: Iterator {
|
44 | 42 | /// Removes and returns an element from the end of the iterator.
|
45 | 43 | ///
|
@@ -136,10 +134,7 @@ pub trait DoubleEndedIterator: Iterator {
|
136 | 134 | /// [`Err(k)`]: Err
|
137 | 135 | #[inline]
|
138 | 136 | #[unstable(feature = "iter_advance_by", reason = "recently added", issue = "77404")]
|
139 |
| - fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize> |
140 |
| - where |
141 |
| - Self::Item: ~const Destruct, |
142 |
| - { |
| 137 | + fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize> { |
143 | 138 | for i in 0..n {
|
144 | 139 | if self.next_back().is_none() {
|
145 | 140 | // SAFETY: `i` is always less than `n`.
|
@@ -192,7 +187,6 @@ pub trait DoubleEndedIterator: Iterator {
|
192 | 187 | /// ```
|
193 | 188 | #[inline]
|
194 | 189 | #[stable(feature = "iter_nth_back", since = "1.37.0")]
|
195 |
| - #[rustc_do_not_const_check] |
196 | 190 | fn nth_back(&mut self, n: usize) -> Option<Self::Item> {
|
197 | 191 | if self.advance_back_by(n).is_err() {
|
198 | 192 | return None;
|
@@ -232,7 +226,6 @@ pub trait DoubleEndedIterator: Iterator {
|
232 | 226 | /// ```
|
233 | 227 | #[inline]
|
234 | 228 | #[stable(feature = "iterator_try_fold", since = "1.27.0")]
|
235 |
| - #[rustc_do_not_const_check] |
236 | 229 | fn try_rfold<B, F, R>(&mut self, init: B, mut f: F) -> R
|
237 | 230 | where
|
238 | 231 | Self: Sized,
|
@@ -304,7 +297,6 @@ pub trait DoubleEndedIterator: Iterator {
|
304 | 297 | #[doc(alias = "foldr")]
|
305 | 298 | #[inline]
|
306 | 299 | #[stable(feature = "iter_rfold", since = "1.27.0")]
|
307 |
| - #[rustc_do_not_const_check] |
308 | 300 | fn rfold<B, F>(mut self, init: B, mut f: F) -> B
|
309 | 301 | where
|
310 | 302 | Self: Sized,
|
@@ -360,7 +352,6 @@ pub trait DoubleEndedIterator: Iterator {
|
360 | 352 | /// ```
|
361 | 353 | #[inline]
|
362 | 354 | #[stable(feature = "iter_rfind", since = "1.27.0")]
|
363 |
| - #[rustc_do_not_const_check] |
364 | 355 | fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
|
365 | 356 | where
|
366 | 357 | Self: Sized,
|
|
0 commit comments