use crate::{DynMetadata, Pointee};
use core::any::Any;
unsafe impl Pointee for dyn Any {
type Metadata = DynMetadata<dyn Any>;
}
unsafe impl Pointee for dyn Any + Send {
type Metadata = DynMetadata<dyn Any + Send>;
}
unsafe impl Pointee for dyn Any + Sync {
type Metadata = DynMetadata<dyn Any + Sync>;
}
unsafe impl Pointee for dyn Any + Send + Sync {
type Metadata = DynMetadata<dyn Any + Send + Sync>;
}
#[cfg(feature = "std")]
unsafe impl Pointee for dyn std::error::Error {
type Metadata = DynMetadata<dyn std::error::Error>;
}
#[cfg(feature = "std")]
unsafe impl Pointee for dyn std::error::Error + Send {
type Metadata = DynMetadata<dyn std::error::Error + Send>;
}
#[cfg(feature = "std")]
unsafe impl Pointee for dyn std::error::Error + Sync {
type Metadata = DynMetadata<dyn std::error::Error + Sync>;
}
#[cfg(feature = "std")]
unsafe impl Pointee for dyn std::error::Error + Send + Sync {
type Metadata = DynMetadata<dyn std::error::Error + Send + Sync>;
}