Struct TinyBoxSized
#[repr(C)]pub struct TinyBoxSized<T: ?Sized, const S: usize>(/* private fields */);
Implementations§
§impl<T: ?Sized, const S: usize> TinyBoxSized<T, S>
impl<T: ?Sized, const S: usize> TinyBoxSized<T, S>
pub unsafe fn read_raw(src: *mut T) -> Self
pub unsafe fn read_raw(src: *mut T) -> Self
§Safety
Behavior is undefined if any of the following conditions are violated:
src
must be valid for reads.src
must be properly aligned.src
must point to a properly initialized value of typeT
.- the value at
src
must not be used or dropped afterread_raw
is called.
Like ptr::read
, read_raw
creates a bitwise copy of T
, regardless of
whether T
is Copy
. If T
is not Copy
, using the value at
*src
after calling read_raw
can violate memory safety. This also
applies for dropping dte value at src
. It is recommended, that
mem::forget
is called on the value at src
.
Note that even if T
has size 0
, the pointer must be non-null and properly aligned.
pub fn as_ptr(&self) -> *mut T
§impl<T: Sized, const S: usize> TinyBoxSized<T, S>
impl<T: Sized, const S: usize> TinyBoxSized<T, S>
pub fn new(v: T) -> Self
pub fn into_inner(boxed: Self) -> T
§impl<const S: usize> TinyBoxSized<dyn Any, S>
impl<const S: usize> TinyBoxSized<dyn Any, S>
pub fn downcast<T: Any>(self) -> Result<TinyBoxSized<T, S>, Self>
§impl<const S: usize> TinyBoxSized<dyn Any + Send, S>
impl<const S: usize> TinyBoxSized<dyn Any + Send, S>
pub fn downcast<T: Any>(self) -> Result<TinyBoxSized<T, S>, Self>
§impl<const S: usize> TinyBoxSized<dyn Any + Send + Sync, S>
impl<const S: usize> TinyBoxSized<dyn Any + Send + Sync, S>
pub fn downcast<T: Any>(self) -> Result<TinyBoxSized<T, S>, Self>
Trait Implementations§
§impl<T: ?Sized, const S: usize> AsMut<T> for TinyBoxSized<T, S>
impl<T: ?Sized, const S: usize> AsMut<T> for TinyBoxSized<T, S>
§impl<T: ?Sized, const S: usize> AsRef<T> for TinyBoxSized<T, S>
impl<T: ?Sized, const S: usize> AsRef<T> for TinyBoxSized<T, S>
§impl<T: ?Sized, const S: usize> Borrow<T> for TinyBoxSized<T, S>
impl<T: ?Sized, const S: usize> Borrow<T> for TinyBoxSized<T, S>
§impl<T: ?Sized, const S: usize> BorrowMut<T> for TinyBoxSized<T, S>
impl<T: ?Sized, const S: usize> BorrowMut<T> for TinyBoxSized<T, S>
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T: ?Sized, const S: usize> Deref for TinyBoxSized<T, S>
impl<T: ?Sized, const S: usize> Deref for TinyBoxSized<T, S>
§impl<T: ?Sized, const S: usize> DerefMut for TinyBoxSized<T, S>
impl<T: ?Sized, const S: usize> DerefMut for TinyBoxSized<T, S>
§impl<T: ?Sized, const S: usize> Drop for TinyBoxSized<T, S>
impl<T: ?Sized, const S: usize> Drop for TinyBoxSized<T, S>
§impl<T: ?Sized + Ord, const S: usize> Ord for TinyBoxSized<T, S>
impl<T: ?Sized + Ord, const S: usize> Ord for TinyBoxSized<T, S>
§impl<T: ?Sized + PartialEq<Rhs::Target>, Rhs: Deref, const S: usize> PartialEq<Rhs> for TinyBoxSized<T, S>
impl<T: ?Sized + PartialEq<Rhs::Target>, Rhs: Deref, const S: usize> PartialEq<Rhs> for TinyBoxSized<T, S>
§impl<T: ?Sized + PartialOrd<Rhs::Target>, Rhs: Deref, const S: usize> PartialOrd<Rhs> for TinyBoxSized<T, S>
impl<T: ?Sized + PartialOrd<Rhs::Target>, Rhs: Deref, const S: usize> PartialOrd<Rhs> for TinyBoxSized<T, S>
§impl<T: ?Sized, const S: usize> Pointer for TinyBoxSized<T, S>
impl<T: ?Sized, const S: usize> Pointer for TinyBoxSized<T, S>
impl<T: ?Sized + Eq, const S: usize> Eq for TinyBoxSized<T, S>
impl<T: ?Sized + Send, const S: usize> Send for TinyBoxSized<T, S>
impl<T: ?Sized + Sync, const S: usize> Sync for TinyBoxSized<T, S>
Auto Trait Implementations§
impl<T, const S: usize> Freeze for TinyBoxSized<T, S>where
T: ?Sized,
impl<T, const S: usize> RefUnwindSafe for TinyBoxSized<T, S>where
T: RefUnwindSafe + ?Sized,
impl<T, const S: usize> Unpin for TinyBoxSized<T, S>where
T: ?Sized,
impl<T, const S: usize> UnwindSafe for TinyBoxSized<T, S>where
T: RefUnwindSafe + ?Sized,
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<F> IntoFuture for Fwhere
F: Future,
impl<F> IntoFuture for Fwhere
F: Future,
Source§type IntoFuture = F
type IntoFuture = F
Which kind of future are we turning this into?
Source§fn into_future(self) -> <F as IntoFuture>::IntoFuture
fn into_future(self) -> <F as IntoFuture>::IntoFuture
Creates a future from a value. Read more