[][src]Struct typic::transmute::safe_transmutation::neglect::Stability

pub struct Stability;

Neglect statically guaranteeing that the source and destination types have stable in-memory representations.

By default, Typic statically requires that the layouts of the source and destination types are part of their API guarantee. Library authors indicate this for their types by implementing a marker trait. This trait should only be implementable for types where Rust makes guarantees about their layout (e.g., #[repr(C)]).

This is the only option available for safe transmutations.

Typic will still reject transmutes between types where the layouts of the source or destination types are compiler UB (e.g., most repr(Rust) types).

Trait Implementations

impl TransmuteOptions for Stability[src]

type Stability = Unstable

Auto Trait Implementations

impl Send for Stability

impl Sync for Stability

impl Unpin for Stability

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T, U> StableTransmuteInto<U> for T where
    T: TransmuteInto<U, ()>, 
[src]

impl<T, U, O> TransmuteInto<U, O> for T where
    O: TransmuteOptions,
    T: UnsafeTransmuteInto<U, ()>,
    U: TransmuteFrom<T, O>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T, U, O> UnsafeTransmuteInto<U, O> for T where
    O: UnsafeTransmuteOptions,
    U: UnsafeTransmuteFrom<T, O>, 
[src]

impl<O> UnsafeTransmuteOptions for O where
    O: TransmuteOptions
[src]

type Alignment = Static

type Transparency = Enforced

type Stability = <O as TransmuteOptions>::Stability

type Validity = AlwaysValid