Skip to main content

announce_std/
iter.rs

1//! announce mocks of `iter` traits. Generated from newer-type-std's copies.
2
3#[allow(unused_imports)]
4use announce::announce;
5
6/// announce mock of [`::core::iter::IntoIterator`]: invoke `IntoIterator!` to receive its definition.
7///
8/// The real trait is re-exported under the same path.
9#[announce(mock = ::core::iter::IntoIterator)]
10pub trait IntoIterator {
11    type Item;
12    type IntoIter: ::core::iter::Iterator<Item = Self::Item>;
13    fn into_iter(self) -> Self::IntoIter;
14}
15
16#[doc(no_inline)]
17pub use ::core::iter::IntoIterator;
18
19/// announce mock of [`::core::iter::Extend`]: invoke `Extend!` to receive its definition.
20///
21/// The real trait is re-exported under the same path.
22#[announce(mock = ::core::iter::Extend)]
23pub trait Extend<A> {
24    fn extend<T>(&mut self, iter: T)
25    where
26        T: ::core::iter::IntoIterator<Item = A>;
27}
28
29#[doc(no_inline)]
30pub use ::core::iter::Extend;
31
32/// announce mock of [`::core::iter::Iterator`]: invoke `Iterator!` to receive its definition.
33///
34/// The real trait is re-exported under the same path.
35#[announce(mock = ::core::iter::Iterator)]
36pub trait Iterator {
37    type Item;
38    fn next(&mut self) -> ::core::option::Option<Self::Item>;
39    fn size_hint(
40        &self,
41    ) -> (
42        ::core::primitive::usize,
43        ::core::option::Option<::core::primitive::usize>,
44    ) {
45        ::core::unimplemented!()
46    }
47    fn count(self) -> ::core::primitive::usize
48    where
49        Self: ::core::marker::Sized,
50    {
51        ::core::unimplemented!()
52    }
53    fn last(self) -> ::core::option::Option<Self::Item>
54    where
55        Self: ::core::marker::Sized,
56    {
57        ::core::unimplemented!()
58    }
59    fn nth(&mut self, n: ::core::primitive::usize) -> ::core::option::Option<Self::Item> {
60        ::core::unimplemented!()
61    }
62}
63
64#[doc(no_inline)]
65pub use ::core::iter::Iterator;
66
67/// announce mock of [`::core::iter::FusedIterator`]: invoke `FusedIterator!` to receive its definition.
68///
69/// The real trait is re-exported under the same path.
70#[announce(mock = ::core::iter::FusedIterator)]
71pub trait FusedIterator: ::core::iter::Iterator {}
72
73#[doc(no_inline)]
74pub use ::core::iter::FusedIterator;
75
76/// announce mock of [`::core::iter::ExactSizeIterator`]: invoke `ExactSizeIterator!` to receive its definition.
77///
78/// The real trait is re-exported under the same path.
79#[announce(mock = ::core::iter::ExactSizeIterator)]
80pub trait ExactSizeIterator: ::core::iter::Iterator {
81    fn len(&self) -> ::core::primitive::usize {
82        ::core::unimplemented!()
83    }
84}
85
86#[doc(no_inline)]
87pub use ::core::iter::ExactSizeIterator;
88
89/// announce mock of [`::core::iter::DoubleEndedIterator`]: invoke `DoubleEndedIterator!` to receive its definition.
90///
91/// The real trait is re-exported under the same path.
92#[announce(mock = ::core::iter::DoubleEndedIterator)]
93pub trait DoubleEndedIterator: ::core::iter::Iterator {
94    fn next_back(&mut self) -> ::core::option::Option<Self::Item>;
95
96    fn nth_back(&mut self, n: ::core::primitive::usize) -> ::core::option::Option<Self::Item> {
97        ::core::unimplemented!()
98    }
99    // fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
100    // where
101    //     Self: ::core::marker::Sized,
102    //     F: ::core::ops::FnMut(B, Self::Item) -> R,
103    //     R: ::core::ops::Try<Output = B>;
104    fn rfold<B, F>(self, init: B, f: F) -> B
105    where
106        Self: ::core::marker::Sized,
107        F: ::core::ops::FnMut(B, Self::Item) -> B,
108    {
109        ::core::unimplemented!()
110    }
111    fn rfind<P>(&mut self, predicate: P) -> ::core::option::Option<Self::Item>
112    where
113        Self: ::core::marker::Sized,
114        P: ::core::ops::FnMut(&Self::Item) -> ::core::primitive::bool,
115    {
116        ::core::unimplemented!()
117    }
118}
119
120#[doc(no_inline)]
121pub use ::core::iter::DoubleEndedIterator;