From c47d8f5cd98dc0f2a37cf5b433afee5d72445d4a Mon Sep 17 00:00:00 2001 From: TonalidadeHidrica <47710717+TonalidadeHidrica@users.noreply.github.com> Date: Sat, 20 Feb 2021 00:29:22 +0900 Subject: [PATCH] Implement EventWatchCallback for closure type --- src/sdl2/event.rs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/sdl2/event.rs b/src/sdl2/event.rs index e2b56840..bf03c97b 100644 --- a/src/sdl2/event.rs +++ b/src/sdl2/event.rs @@ -242,19 +242,13 @@ impl crate::EventSubsystem { /// /// # Example: dump every event to stderr /// ``` - /// use sdl2::event::{Event, EventWatchCallback}; /// let sdl = sdl2::init().unwrap(); /// let ev = sdl.event().unwrap(); /// - /// struct Callback; - /// impl EventWatchCallback for Callback { - /// fn callback(&mut self, event: Event) { - /// dbg!(event); - /// } - /// } - /// /// // `let _ = ...` is insufficient, as it is dropped immediately. - /// let _event_watch = ev.add_event_watch(Callback); + /// let _event_watch = ev.add_event_watch(|event| { + /// dbg!(event); + /// }); /// ``` pub fn add_event_watch<'a, CB: EventWatchCallback + 'a>( &self, @@ -3008,3 +3002,9 @@ extern "C" fn event_callback_marshall( f.callback(event); 0 } + +impl ()> EventWatchCallback for F { + fn callback(&mut self, event: Event) -> () { + self(event) + } +}