chore: use our own AsAny to provide &dyn Any
This removes the direct requirement to implement `as_any` and it could be just derived. Also implement HasDisplayHandle for dyn ActiveEventLoop + '_. Suggested-by: daxpedda <daxpedda@gmail.com>
This commit is contained in:
parent
038ef5c3ad
commit
3392e9c1de
10 changed files with 27 additions and 46 deletions
18
src/utils.rs
18
src/utils.rs
|
|
@ -4,6 +4,7 @@
|
|||
// This isn't used on every platform, which can come up as dead code warnings.
|
||||
#![allow(dead_code)]
|
||||
|
||||
use std::any::Any;
|
||||
use std::ops::Deref;
|
||||
use std::sync::OnceLock;
|
||||
|
||||
|
|
@ -26,3 +27,20 @@ impl<T> Deref for Lazy<T> {
|
|||
self.cell.get_or_init(self.init)
|
||||
}
|
||||
}
|
||||
|
||||
pub trait AsAny {
|
||||
fn as_any(&self) -> &dyn Any;
|
||||
fn as_any_mut(&mut self) -> &mut dyn Any;
|
||||
}
|
||||
|
||||
impl<T: Any> AsAny for T {
|
||||
#[inline(always)]
|
||||
fn as_any(&self) -> &dyn Any {
|
||||
self
|
||||
}
|
||||
|
||||
#[inline(always)]
|
||||
fn as_any_mut(&mut self) -> &mut dyn Any {
|
||||
self
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue