Trait ref_cast::RefCast [−][src]
pub trait RefCast {
type From: ?Sized;
fn ref_cast(from: &Self::From) -> &Self;
fn ref_cast_mut(from: &mut Self::From) -> &mut Self;
}Safely cast &T to &U where the struct U contains a single field of
type T.
// `&String` can be cast to `&U`. #[derive(RefCast)] #[repr(transparent)] struct U(String); // `&T` can be cast to `&V<T>`. #[derive(RefCast)] #[repr(transparent)] struct V<T> { t: T, }
See the crate-level documentation for usage examples!