pub struct ErasedPtr { /* private fields */ }Expand description
A type-erased pointer.
Implementations§
Source§impl ErasedPtr
impl ErasedPtr
Sourcepub fn new<T>(ptr: *mut T) -> Self
pub fn new<T>(ptr: *mut T) -> Self
Returns an erased pointer corresponding to the given pointer.
Sourcepub fn data_address(&self) -> *mut ()
pub fn data_address(&self) -> *mut ()
Returns the data address corresponding to this erased pointer.
Sourcepub unsafe fn downcast_unchecked<T>(&self) -> *mut T
pub unsafe fn downcast_unchecked<T>(&self) -> *mut T
§Safety
self must be created from a valid pointer to T.
Trait Implementations§
Auto Trait Implementations§
impl !Send for ErasedPtr
impl !Sync for ErasedPtr
impl Freeze for ErasedPtr
impl RefUnwindSafe for ErasedPtr
impl Unpin for ErasedPtr
impl UnsafeUnpin for ErasedPtr
impl UnwindSafe for ErasedPtr
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.