pub trait DynSized {
type Meta: Copy;
unsafe fn assemble(meta: Self::Meta, data: *const ()) -> *const Self;
fn disassemble(ptr: *const Self) -> (Self::Meta, *const ());
unsafe fn assemble_mut(meta: Self::Meta, data: *mut ()) -> *mut Self { ... }
fn disassemble_mut(ptr: *mut Self) -> (Self::Meta, *mut ()) { ... }
fn meta(&self) -> Self::Meta { ... }
fn data(&self) -> *const () { ... }
fn data_mut(&mut self) -> *mut () { ... }
}
A trait for dynamically sized types, similar in principle to the Sized
trait. Allows conversion between fat and thin pointers.
impl<'a, Args, Output> DynSized for Fn<Args, Output = Output> + 'a
[src]
impl<'a, Args, Output> DynSized for Fn<Args, Output = Output> + Send + 'a
[src]
impl<'a, Args, Output> DynSized for Fn<Args, Output = Output> + Sync + 'a
[src]
impl<'a, Args, Output> DynSized for Fn<Args, Output = Output> + Send + Sync + 'a
[src]
impl<'a, Args, Output> DynSized for FnMut<Args, Output = Output> + 'a
[src]
impl<'a, Args, Output> DynSized for FnMut<Args, Output = Output> + Send + 'a
[src]
impl<'a, Args, Output> DynSized for FnOnce<Args, Output = Output> + 'a
[src]
impl<'a, Args, Output> DynSized for FnOnce<Args, Output = Output> + Send + 'a
[src]
impl<'a, Args, Output> DynSized for FnMove<Args, Output = Output> + 'a
[src]
impl<'a, Args, Output> DynSized for FnMove<Args, Output = Output> + Send + 'a
[src]
impl<T> DynSized for WrapSized<T> type Meta = ();
impl<T> DynSized for [T] type Meta = usize;
impl DynSized for str type Meta = usize;