Enum rustc_transmute::Reason
source · pub enum Reason<T> {
Show 13 variants
SrcIsNotYetSupported,
DstIsNotYetSupported,
DstIsBitIncompatible,
DstMayHaveSafetyInvariants,
DstIsTooBig,
DstRefIsTooBig {
src: T,
dst: T,
},
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.
DstMayHaveSafetyInvariants
The destination type may carry safety invariants.
DstIsTooBig
Dst
is larger than Src
, and the excess bytes were not exclusively uninitialized.
DstRefIsTooBig
Fields
src: T
The referent of the source type.
dst: T
The too-large referent of the destination type.
A referent of Dst
is larger than a referent in Src
.
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: PartialEq> PartialEq for Reason<T>
impl<T: PartialEq> PartialEq for Reason<T>
source§impl<T: PartialOrd> PartialOrd for Reason<T>
impl<T: PartialOrd> PartialOrd for Reason<T>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moreimpl<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§
§impl<T> AnyEq for T
impl<T> AnyEq for T
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, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
§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
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<T> Filterable for T
impl<T> Filterable for T
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<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
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<'tcx, T> ToPredicate<'tcx, T> for T
impl<'tcx, T> ToPredicate<'tcx, T> for T
fn to_predicate(self, _tcx: TyCtxt<'tcx>) -> 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<'a, T> Captures<'a> for Twhere
T: ?Sized,
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> MaybeSendSync for T
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.