trait_obj_list/
ptr.stable.rs1pub use ptr_meta::DynMetadata;
2pub use ptr_meta::Pointee;
3pub use ptr_meta::from_raw_parts_mut;
4pub use ptr_meta::to_raw_parts_mut;
5
6#[macro_export]
16macro_rules! impl_from_impl {
17 (dyn $($rest:tt)*) => {
18 #[allow(unused_parens)]
19 unsafe impl<'a, T> $crate::FromImpl<T> for (dyn $($rest)* + 'a)
20 where T: $($rest)* + 'a {
21 fn from_impl(value: &T) -> &Self { value }
22 fn from_impl_mut(value: &mut T) -> &mut Self { value }
23 }
24 };
25}
26
27impl_from_impl!(dyn core::any::Any);
28impl_from_impl!(dyn core::any::Any + Send);
29impl_from_impl!(dyn core::any::Any + Send + Sync);
30impl_from_impl!(dyn core::error::Error);
31impl_from_impl!(dyn core::error::Error + Send);
32impl_from_impl!(dyn core::error::Error + Send + Sync);