Properly implement event loop extension traits

This was implemented for `&dyn ActiveEventLoop` before, but that's less
general than implementing it directly for `dyn ActiveEventLoop`.

The `+ '_` is required to tell the compiler that we want to implement
this for all `dyn ActiveEventLoop`s, not just `'static` ones (even
though they're all going to be `'static`).
This commit is contained in:
Mads Marquart 2024-08-11 18:33:12 +02:00 committed by GitHub
parent 70c54ee0ff
commit 038ef5c3ad
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 6 additions and 6 deletions

View file

@ -109,7 +109,7 @@ impl WindowExtAndroid for Window {
} }
} }
impl ActiveEventLoopExtAndroid for &dyn ActiveEventLoop { impl ActiveEventLoopExtAndroid for dyn ActiveEventLoop + '_ {
fn android_app(&self) -> &AndroidApp { fn android_app(&self) -> &AndroidApp {
let event_loop = let event_loop =
self.as_any().downcast_ref::<crate::platform_impl::ActiveEventLoop>().unwrap(); self.as_any().downcast_ref::<crate::platform_impl::ActiveEventLoop>().unwrap();

View file

@ -396,7 +396,7 @@ pub trait ActiveEventLoopExtMacOS {
fn allows_automatic_window_tabbing(&self) -> bool; fn allows_automatic_window_tabbing(&self) -> bool;
} }
impl ActiveEventLoopExtMacOS for &dyn ActiveEventLoop { impl ActiveEventLoopExtMacOS for dyn ActiveEventLoop + '_ {
fn hide_application(&self) { fn hide_application(&self) {
let event_loop = self let event_loop = self
.as_any() .as_any()

View file

@ -57,7 +57,7 @@ pub trait WindowAttributesExtStartupNotify {
fn with_activation_token(self, token: ActivationToken) -> Self; fn with_activation_token(self, token: ActivationToken) -> Self;
} }
impl EventLoopExtStartupNotify for &dyn ActiveEventLoop { impl EventLoopExtStartupNotify for dyn ActiveEventLoop + '_ {
fn read_token_from_env(&self) -> Option<ActivationToken> { fn read_token_from_env(&self) -> Option<ActivationToken> {
#[cfg(x11_platform)] #[cfg(x11_platform)]
let _is_wayland = false; let _is_wayland = false;

View file

@ -24,7 +24,7 @@ pub trait ActiveEventLoopExtWayland {
fn is_wayland(&self) -> bool; fn is_wayland(&self) -> bool;
} }
impl ActiveEventLoopExtWayland for &dyn ActiveEventLoop { impl ActiveEventLoopExtWayland for dyn ActiveEventLoop + '_ {
#[inline] #[inline]
fn is_wayland(&self) -> bool { fn is_wayland(&self) -> bool {
self.as_any().downcast_ref::<crate::platform_impl::wayland::ActiveEventLoop>().is_some() self.as_any().downcast_ref::<crate::platform_impl::wayland::ActiveEventLoop>().is_some()

View file

@ -347,7 +347,7 @@ pub trait ActiveEventLoopExtWeb {
fn has_detailed_monitor_permission(&self) -> bool; fn has_detailed_monitor_permission(&self) -> bool;
} }
impl ActiveEventLoopExtWeb for &dyn ActiveEventLoop { impl ActiveEventLoopExtWeb for dyn ActiveEventLoop + '_ {
#[inline] #[inline]
fn create_custom_cursor_async(&self, source: CustomCursorSource) -> CustomCursorFuture { fn create_custom_cursor_async(&self, source: CustomCursorSource) -> CustomCursorFuture {
let event_loop = self let event_loop = self

View file

@ -91,7 +91,7 @@ pub trait ActiveEventLoopExtX11 {
fn is_x11(&self) -> bool; fn is_x11(&self) -> bool;
} }
impl ActiveEventLoopExtX11 for &dyn ActiveEventLoop { impl ActiveEventLoopExtX11 for dyn ActiveEventLoop + '_ {
#[inline] #[inline]
fn is_x11(&self) -> bool { fn is_x11(&self) -> bool {
self.as_any().downcast_ref::<crate::platform_impl::x11::ActiveEventLoop>().is_some() self.as_any().downcast_ref::<crate::platform_impl::x11::ActiveEventLoop>().is_some()