lyra-engine/src/castable_any.rs

17 lines
388 B
Rust
Raw Normal View History

2023-09-08 04:13:46 +00:00
use std::any::Any;
2023-09-01 01:34:58 +00:00
pub trait CastableAny: Send + Sync + 'static {
fn as_any(&self) -> &dyn Any;
fn as_any_mut(&mut self) -> &mut dyn Any;
}
2023-09-01 01:34:58 +00:00
/// Implements this trait for anything that fits the type bounds
impl<T: Send + Sync + 'static> CastableAny for T {
fn as_any(&self) -> &dyn Any {
self
}
fn as_any_mut(&mut self) -> &mut dyn Any {
self
}
}