Link the tracking issue for TrustedLen
This commit is contained in:
parent
5dc9db541e
commit
f0e6b90790
@ -1931,7 +1931,7 @@ impl<T> ExactSizeIterator for IntoIter<T> {}
|
||||
#[unstable(feature = "fused", issue = "35602")]
|
||||
impl<T> FusedIterator for IntoIter<T> {}
|
||||
|
||||
#[unstable(feature = "trusted_len", issue = "0")]
|
||||
#[unstable(feature = "trusted_len", issue = "37572")]
|
||||
unsafe impl<T> TrustedLen for IntoIter<T> {}
|
||||
|
||||
#[stable(feature = "vec_into_iter_clone", since = "1.8.0")]
|
||||
|
@ -328,7 +328,7 @@ pub use self::traits::{FromIterator, IntoIterator, DoubleEndedIterator, Extend};
|
||||
pub use self::traits::{ExactSizeIterator, Sum, Product};
|
||||
#[unstable(feature = "fused", issue = "35602")]
|
||||
pub use self::traits::FusedIterator;
|
||||
#[unstable(feature = "trusted_len", issue = "0")]
|
||||
#[unstable(feature = "trusted_len", issue = "37572")]
|
||||
pub use self::traits::TrustedLen;
|
||||
|
||||
mod iterator;
|
||||
@ -374,7 +374,7 @@ impl<I> ExactSizeIterator for Rev<I>
|
||||
impl<I> FusedIterator for Rev<I>
|
||||
where I: FusedIterator + DoubleEndedIterator {}
|
||||
|
||||
#[unstable(feature = "trusted_len", issue = "0")]
|
||||
#[unstable(feature = "trusted_len", issue = "37572")]
|
||||
unsafe impl<I> TrustedLen for Rev<I>
|
||||
where I: TrustedLen + DoubleEndedIterator {}
|
||||
|
||||
@ -438,7 +438,7 @@ unsafe impl<'a, I, T: 'a> TrustedRandomAccess for Cloned<I>
|
||||
fn may_have_side_effect() -> bool { true }
|
||||
}
|
||||
|
||||
#[unstable(feature = "trusted_len", issue = "0")]
|
||||
#[unstable(feature = "trusted_len", issue = "37572")]
|
||||
unsafe impl<'a, I, T: 'a> TrustedLen for Cloned<I>
|
||||
where I: TrustedLen<Item=&'a T>,
|
||||
T: Clone
|
||||
@ -654,7 +654,7 @@ impl<A, B> FusedIterator for Chain<A, B>
|
||||
B: FusedIterator<Item=A::Item>,
|
||||
{}
|
||||
|
||||
#[unstable(feature = "trusted_len", issue = "0")]
|
||||
#[unstable(feature = "trusted_len", issue = "37572")]
|
||||
unsafe impl<A, B> TrustedLen for Chain<A, B>
|
||||
where A: TrustedLen, B: TrustedLen<Item=A::Item>,
|
||||
{}
|
||||
@ -876,7 +876,7 @@ unsafe impl<A, B> TrustedRandomAccess for Zip<A, B>
|
||||
impl<A, B> FusedIterator for Zip<A, B>
|
||||
where A: FusedIterator, B: FusedIterator, {}
|
||||
|
||||
#[unstable(feature = "trusted_len", issue = "0")]
|
||||
#[unstable(feature = "trusted_len", issue = "37572")]
|
||||
unsafe impl<A, B> TrustedLen for Zip<A, B>
|
||||
where A: TrustedLen, B: TrustedLen,
|
||||
{}
|
||||
@ -981,7 +981,7 @@ impl<B, I: ExactSizeIterator, F> ExactSizeIterator for Map<I, F>
|
||||
impl<B, I: FusedIterator, F> FusedIterator for Map<I, F>
|
||||
where F: FnMut(I::Item) -> B {}
|
||||
|
||||
#[unstable(feature = "trusted_len", issue = "0")]
|
||||
#[unstable(feature = "trusted_len", issue = "37572")]
|
||||
unsafe impl<B, I, F> TrustedLen for Map<I, F>
|
||||
where I: TrustedLen,
|
||||
F: FnMut(I::Item) -> B {}
|
||||
@ -1222,7 +1222,7 @@ unsafe impl<I> TrustedRandomAccess for Enumerate<I>
|
||||
#[unstable(feature = "fused", issue = "35602")]
|
||||
impl<I> FusedIterator for Enumerate<I> where I: FusedIterator {}
|
||||
|
||||
#[unstable(feature = "trusted_len", issue = "0")]
|
||||
#[unstable(feature = "trusted_len", issue = "37572")]
|
||||
unsafe impl<I> TrustedLen for Enumerate<I>
|
||||
where I: TrustedLen,
|
||||
{}
|
||||
|
@ -482,7 +482,7 @@ macro_rules! range_incl_exact_iter_impl {
|
||||
|
||||
macro_rules! range_trusted_len_impl {
|
||||
($($t:ty)*) => ($(
|
||||
#[unstable(feature = "trusted_len", issue = "0")]
|
||||
#[unstable(feature = "trusted_len", issue = "37572")]
|
||||
unsafe impl TrustedLen for ops::Range<$t> { }
|
||||
)*)
|
||||
}
|
||||
|
@ -679,8 +679,8 @@ impl<'a, I: FusedIterator + ?Sized> FusedIterator for &'a mut I {}
|
||||
///
|
||||
/// This trait must only be implemented when the contract is upheld.
|
||||
/// Consumers of this trait must inspect `.size_hint()`’s upper bound.
|
||||
#[unstable(feature = "trusted_len", issue = "0")]
|
||||
#[unstable(feature = "trusted_len", issue = "37572")]
|
||||
pub unsafe trait TrustedLen : Iterator {}
|
||||
|
||||
#[unstable(feature = "trusted_len", issue = "0")]
|
||||
#[unstable(feature = "trusted_len", issue = "37572")]
|
||||
unsafe impl<'a, I: TrustedLen + ?Sized> TrustedLen for &'a mut I {}
|
||||
|
@ -834,7 +834,7 @@ impl<'a, A> ExactSizeIterator for Iter<'a, A> {}
|
||||
#[unstable(feature = "fused", issue = "35602")]
|
||||
impl<'a, A> FusedIterator for Iter<'a, A> {}
|
||||
|
||||
#[unstable(feature = "trusted_len", issue = "0")]
|
||||
#[unstable(feature = "trusted_len", issue = "37572")]
|
||||
unsafe impl<'a, A> TrustedLen for Iter<'a, A> {}
|
||||
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
@ -872,7 +872,7 @@ impl<'a, A> ExactSizeIterator for IterMut<'a, A> {}
|
||||
|
||||
#[unstable(feature = "fused", issue = "35602")]
|
||||
impl<'a, A> FusedIterator for IterMut<'a, A> {}
|
||||
#[unstable(feature = "trusted_len", issue = "0")]
|
||||
#[unstable(feature = "trusted_len", issue = "37572")]
|
||||
unsafe impl<'a, A> TrustedLen for IterMut<'a, A> {}
|
||||
|
||||
/// An iterator over the item contained inside an [`Option`].
|
||||
@ -904,7 +904,7 @@ impl<A> ExactSizeIterator for IntoIter<A> {}
|
||||
#[unstable(feature = "fused", issue = "35602")]
|
||||
impl<A> FusedIterator for IntoIter<A> {}
|
||||
|
||||
#[unstable(feature = "trusted_len", issue = "0")]
|
||||
#[unstable(feature = "trusted_len", issue = "37572")]
|
||||
unsafe impl<A> TrustedLen for IntoIter<A> {}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -886,7 +886,7 @@ impl<'a, T> ExactSizeIterator for Iter<'a, T> {}
|
||||
#[unstable(feature = "fused", issue = "35602")]
|
||||
impl<'a, T> FusedIterator for Iter<'a, T> {}
|
||||
|
||||
#[unstable(feature = "trusted_len", issue = "0")]
|
||||
#[unstable(feature = "trusted_len", issue = "37572")]
|
||||
unsafe impl<'a, A> TrustedLen for Iter<'a, A> {}
|
||||
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
@ -927,7 +927,7 @@ impl<'a, T> ExactSizeIterator for IterMut<'a, T> {}
|
||||
#[unstable(feature = "fused", issue = "35602")]
|
||||
impl<'a, T> FusedIterator for IterMut<'a, T> {}
|
||||
|
||||
#[unstable(feature = "trusted_len", issue = "0")]
|
||||
#[unstable(feature = "trusted_len", issue = "37572")]
|
||||
unsafe impl<'a, A> TrustedLen for IterMut<'a, A> {}
|
||||
|
||||
/// An iterator over the value in a [`Ok`] variant of a [`Result`]. This struct is
|
||||
@ -967,7 +967,7 @@ impl<T> ExactSizeIterator for IntoIter<T> {}
|
||||
#[unstable(feature = "fused", issue = "35602")]
|
||||
impl<T> FusedIterator for IntoIter<T> {}
|
||||
|
||||
#[unstable(feature = "trusted_len", issue = "0")]
|
||||
#[unstable(feature = "trusted_len", issue = "37572")]
|
||||
unsafe impl<A> TrustedLen for IntoIter<A> {}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -988,7 +988,7 @@ impl<'a, T> ExactSizeIterator for Iter<'a, T> {}
|
||||
#[unstable(feature = "fused", issue = "35602")]
|
||||
impl<'a, T> FusedIterator for Iter<'a, T> {}
|
||||
|
||||
#[unstable(feature = "trusted_len", issue = "0")]
|
||||
#[unstable(feature = "trusted_len", issue = "37572")]
|
||||
unsafe impl<'a, T> TrustedLen for Iter<'a, T> {}
|
||||
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
@ -1112,7 +1112,7 @@ impl<'a, T> ExactSizeIterator for IterMut<'a, T> {}
|
||||
#[unstable(feature = "fused", issue = "35602")]
|
||||
impl<'a, T> FusedIterator for IterMut<'a, T> {}
|
||||
|
||||
#[unstable(feature = "trusted_len", issue = "0")]
|
||||
#[unstable(feature = "trusted_len", issue = "37572")]
|
||||
unsafe impl<'a, T> TrustedLen for IterMut<'a, T> {}
|
||||
|
||||
/// An internal abstraction over the splitting iterators, so that
|
||||
|
Loading…
x
Reference in New Issue
Block a user