Skip to main content

ExactSizeIteratorSpec

Trait ExactSizeIteratorSpec 

Source
pub trait ExactSizeIteratorSpec: ExactSizeIterator + IteratorSpec {
    // Required method
    fn size_hint_exact(&self, r: (usize, Option<usize>));
}

Required Methods§

Source

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl ExactSizeIteratorSpec for Range<i8>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl ExactSizeIteratorSpec for Range<i16>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl ExactSizeIteratorSpec for Range<i32>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl ExactSizeIteratorSpec for Range<isize>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl ExactSizeIteratorSpec for Range<u8>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl ExactSizeIteratorSpec for Range<u16>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl ExactSizeIteratorSpec for Range<u32>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl ExactSizeIteratorSpec for Range<usize>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl ExactSizeIteratorSpec for RangeInclusive<i8>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl ExactSizeIteratorSpec for RangeInclusive<i16>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl ExactSizeIteratorSpec for RangeInclusive<u8>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl ExactSizeIteratorSpec for RangeInclusive<u16>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl<'a, I: ExactSizeIteratorSpec<Item = &'a T>, T: Clone + 'a> ExactSizeIteratorSpec for Cloned<I>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl<'a, I: ExactSizeIteratorSpec<Item = &'a T>, T: Copy + 'a> ExactSizeIteratorSpec for Copied<I>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl<'a, I: ExactSizeIteratorSpec> ExactSizeIteratorSpec for Enumerate<I>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl<'a, K: DeepModel, V> ExactSizeIteratorSpec for Iter<'a, K, V>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl<'a, K: DeepModel, V> ExactSizeIteratorSpec for IterMut<'a, K, V>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl<'a, T: DeepModel> ExactSizeIteratorSpec for Iter<'a, T>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl<'a, T> ExactSizeIteratorSpec for Iter<'a, T>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl<'a, T> ExactSizeIteratorSpec for Iter<'a, T>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl<'a, T> ExactSizeIteratorSpec for IterMut<'a, T>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl<A: ExactSizeIteratorSpec, B: ExactSizeIteratorSpec> ExactSizeIteratorSpec for Zip<A, B>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl<I: ExactSizeIteratorSpec + ?Sized> ExactSizeIteratorSpec for &mut I

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl<I: ExactSizeIteratorSpec + DoubleEndedIteratorSpec> ExactSizeIteratorSpec for Rev<I>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl<I: ExactSizeIteratorSpec, B, F: FnMut(I::Item) -> B> ExactSizeIteratorSpec for Map<I, F>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl<I: ExactSizeIteratorSpec> ExactSizeIteratorSpec for Fuse<I>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl<I: ExactSizeIteratorSpec> ExactSizeIteratorSpec for Skip<I>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl<I: ExactSizeIteratorSpec> ExactSizeIteratorSpec for Take<I>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl<K: DeepModel, V, A: Allocator> ExactSizeIteratorSpec for IntoIter<K, V, A>

Available on crate feature nightly only.
Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl<T, A: Allocator> ExactSizeIteratorSpec for IntoIter<T, A>

Available on crate feature nightly only.
Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl<T, const N: usize> ExactSizeIteratorSpec for IntoIter<T, N>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl<T: DeepModel, A: Allocator> ExactSizeIteratorSpec for IntoIter<T, A>

Available on crate feature nightly only.
Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl<T> ExactSizeIteratorSpec for Empty<T>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl<T> ExactSizeIteratorSpec for IntoIter<T>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl<T> ExactSizeIteratorSpec for Iter<'_, T>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl<T> ExactSizeIteratorSpec for IterMut<'_, T>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Source§

impl<T> ExactSizeIteratorSpec for Once<T>

Source§

fn size_hint_exact(&self, r: (usize, Option<usize>))

logic(law)

requires

Self::size_hint.postcondition((self,), r)

ensures

r.1 == Some(r.0)

Implementors§