1#[allow(unused_imports)]
4use announce::announce;
5
6#[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 = ::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 = ::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 = ::core::iter::FusedIterator)]
71pub trait FusedIterator: ::core::iter::Iterator {}
72
73#[doc(no_inline)]
74pub use ::core::iter::FusedIterator;
75
76#[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 = ::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 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;