pub enum Reason<T> {
Show 14 variants
SrcIsNotYetSupported,
DstIsNotYetSupported,
DstIsBitIncompatible,
DstUninhabited,
DstMayHaveSafetyInvariants,
DstIsTooBig,
DstRefIsTooBig {
src: T,
src_size: usize,
dst: T,
dst_size: usize,
},
DstHasStricterAlignment {
src_min_align: usize,
dst_min_align: usize,
},
DstIsMoreUnique,
TypeError,
SrcLayoutUnknown,
DstLayoutUnknown,
SrcSizeOverflow,
DstSizeOverflow,
}Expand description
Answers “why wasn’t the source type transmutable into the destination type?”
Variants§
SrcIsNotYetSupported
The layout of the source type is not yet supported.
DstIsNotYetSupported
The layout of the destination type is not yet supported.
DstIsBitIncompatible
The layout of the destination type is bit-incompatible with the source type.
DstUninhabited
The destination type is uninhabited.
DstMayHaveSafetyInvariants
The destination type may carry safety invariants.
DstIsTooBig
Dst is larger than Src, and the excess bytes were not exclusively uninitialized.
DstRefIsTooBig
Dst is larger Src.
Fields
src: TThe referent of the source type.
dst: TThe too-large referent of the destination type.
DstHasStricterAlignment
Src should have a stricter alignment than Dst, but it does not.
DstIsMoreUnique
Can’t go from shared pointer to unique pointer
TypeError
Encountered a type error
SrcLayoutUnknown
The layout of src is unknown
DstLayoutUnknown
The layout of dst is unknown
SrcSizeOverflow
The size of src is overflow
DstSizeOverflow
The size of dst is overflow
Trait Implementations§
Source§impl<T: Ord> Ord for Reason<T>
impl<T: Ord> Ord for Reason<T>
Source§impl<T: PartialOrd> PartialOrd for Reason<T>
impl<T: PartialOrd> PartialOrd for Reason<T>
impl<T: Eq> Eq for Reason<T>
impl<T> StructuralPartialEq for Reason<T>
Auto Trait Implementations§
impl<T> DynSend for Reason<T>where
T: DynSend,
impl<T> DynSync for Reason<T>where
T: DynSync,
impl<T> Freeze for Reason<T>where
T: Freeze,
impl<T> RefUnwindSafe for Reason<T>where
T: RefUnwindSafe,
impl<T> Send for Reason<T>where
T: Send,
impl<T> Sync for Reason<T>where
T: Sync,
impl<T> Unpin for Reason<T>where
T: Unpin,
impl<T> UnwindSafe for Reason<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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
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>
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 moreSource§impl<P> IntoQueryParam<P> for P
impl<P> IntoQueryParam<P> for P
fn into_query_param(self) -> P
Source§impl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> for T
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<I, T, U> Upcast<I, U> for Twhere
U: UpcastFrom<I, T>,
impl<I, T, U> Upcast<I, U> for Twhere
U: UpcastFrom<I, T>,
Source§impl<I, T> UpcastFrom<I, T> for T
impl<I, T> UpcastFrom<I, T> for T
fn upcast_from(from: T, _tcx: I) -> T
Source§impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
default fn from_cycle_error( tcx: Tcx, cycle_error: &CycleError, _guar: ErrorGuaranteed, ) -> T
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<T> ErasedDestructor for Twhere
T: 'static,
Layout§
Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.