pub struct Magic<T: 'static> { /* private fields */ }Expand description
Runtime memory error checking to help catch errors that C code is prone to. Can probably drop once C interop is removed.
Prefer to place Magic struct fields as the first field.  This causes the
Magic field to be dropped first when dropping the enclosing struct, which
validates that the Magic is valid before running Drop implementations of
the other fields.
T should be the type of the struct that contains the Magic.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl<T> Freeze for Magic<T>
impl<T> RefUnwindSafe for Magic<T>where
    T: RefUnwindSafe,
impl<T> Send for Magic<T>where
    T: Send,
impl<T> Sync for Magic<T>where
    T: Sync,
impl<T> Unpin for Magic<T>where
    T: Unpin,
impl<T> UnwindSafe for Magic<T>where
    T: UnwindSafe,
Blanket Implementations§
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> IntoEither for T
 
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
 
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts 
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
 
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts 
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more