about summary refs log tree commit diff
path: root/library/core/src/slice
diff options
context:
space:
mode:
authorThe 8472 <git@infinite-source.de>2022-07-30 01:48:16 +0200
committerThe 8472 <git@infinite-source.de>2023-02-28 21:00:00 +0100
commit05c7330ca03650bbcb6a55f5fa490b3bb03c1940 (patch)
treeb7ace4e112ca9e379342f60cd877fbb40211b400 /library/core/src/slice
parent31f858d9a511f24fedb8ed997b28304fec809630 (diff)
downloadrust-05c7330ca03650bbcb6a55f5fa490b3bb03c1940.tar.gz
rust-05c7330ca03650bbcb6a55f5fa490b3bb03c1940.zip
Implement Default for some alloc/core iterators
This way one can `mem::take()` them out of structs or #[derive(Default)] on structs containing them.

These changes will be insta-stable.
Diffstat (limited to 'library/core/src/slice')
-rw-r--r--library/core/src/slice/iter/macros.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/library/core/src/slice/iter/macros.rs b/library/core/src/slice/iter/macros.rs
index 89b92a7d597..57754182c4e 100644
--- a/library/core/src/slice/iter/macros.rs
+++ b/library/core/src/slice/iter/macros.rs
@@ -393,6 +393,13 @@ macro_rules! iterator {
                 }
             }
         }
+
+        #[stable(feature = "default_iters", since = "CURRENT_RUSTC_VERSION")]
+        impl<T> Default for $name<'_, T> {
+            fn default() -> Self {
+                (& $( $mut_ )? []).into_iter()
+            }
+        }
     }
 }