summaryrefslogtreecommitdiffstats
path: root/library/core/src/iter/adapters/fuse.rs
diff options
context:
space:
mode:
Diffstat (limited to 'library/core/src/iter/adapters/fuse.rs')
-rw-r--r--library/core/src/iter/adapters/fuse.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/library/core/src/iter/adapters/fuse.rs b/library/core/src/iter/adapters/fuse.rs
index c93144542..b1fa4f921 100644
--- a/library/core/src/iter/adapters/fuse.rs
+++ b/library/core/src/iter/adapters/fuse.rs
@@ -181,6 +181,21 @@ where
}
}
+#[stable(feature = "default_iters", since = "1.70.0")]
+impl<I: Default> Default for Fuse<I> {
+ /// Creates a `Fuse` iterator from the default value of `I`.
+ ///
+ /// ```
+ /// # use core::slice;
+ /// # use std::iter::Fuse;
+ /// let iter: Fuse<slice::Iter<'_, u8>> = Default::default();
+ /// assert_eq!(iter.len(), 0);
+ /// ```
+ fn default() -> Self {
+ Fuse { iter: Default::default() }
+ }
+}
+
#[unstable(feature = "trusted_len", issue = "37572")]
// SAFETY: `TrustedLen` requires that an accurate length is reported via `size_hint()`. As `Fuse`
// is just forwarding this to the wrapped iterator `I` this property is preserved and it is safe to