File tree Expand file tree Collapse file tree 1 file changed +20
-1
lines changed
library/core/src/iter/adapters Expand file tree Collapse file tree 1 file changed +20
-1
lines changed Original file line number Diff line number Diff line change @@ -198,8 +198,27 @@ impl<I: Default> Default for Fuse<I> {
198
198
/// let iter: Fuse<slice::Iter<'_, u8>> = Default::default();
199
199
/// assert_eq!(iter.len(), 0);
200
200
/// ```
201
+ ///
202
+ /// Note that if `I`'s default value is not an empty iterator, then this will not be
203
+ /// an empty iterator.
204
+ ///
205
+ /// ```
206
+ /// # use std::iter::Fuse;
207
+ /// #[derive(Default)]
208
+ /// struct Fourever;
209
+ ///
210
+ /// impl Iterator for Fourever {
211
+ /// type Item = u32;
212
+ /// fn next(&mut self) -> Option<u32> {
213
+ /// Some(4)
214
+ /// }
215
+ /// }
216
+ ///
217
+ /// let mut iter: Fuse<Fourever> = Default::default()
218
+ /// assert_eq!(iter.next(), Some(4));
219
+ /// ```
201
220
fn default ( ) -> Self {
202
- Fuse { iter : Default :: default ( ) }
221
+ Fuse { iter : Some ( I :: default ( ) ) }
203
222
}
204
223
}
205
224
You can’t perform that action at this time.
0 commit comments