From c0ed1b589f5be79e517552d1019a7b8670b18999 Mon Sep 17 00:00:00 2001 From: Aceeri Date: Fri, 17 Feb 2023 15:37:36 +0000 Subject: [PATCH] IntoIterator for EventReader (#7720) # Objective Continuation of https://github.com/bevyengine/bevy/pull/5719 Now that we have a definable type for the iterator. --- ## Changelog - Implemented IntoIterator for EventReader so you can now do `&mut reader` instead of `reader.iter()` for events. --- crates/bevy_ecs/src/event.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/crates/bevy_ecs/src/event.rs b/crates/bevy_ecs/src/event.rs index 676bc9d034dd0..74367c93ae106 100644 --- a/crates/bevy_ecs/src/event.rs +++ b/crates/bevy_ecs/src/event.rs @@ -241,6 +241,14 @@ impl<'w, 's, E: Event> EventReader<'w, 's, E> { } } +impl<'a, 'w, 's, E: Event> IntoIterator for &'a mut EventReader<'w, 's, E> { + type Item = &'a E; + type IntoIter = ManualEventIterator<'a, E>; + fn into_iter(self) -> Self::IntoIter { + self.iter() + } +} + /// Sends events of type `T`. /// /// # Usage