pub enum EvaluateConstErr<E> {
HasGenericsOrInfers,
InvalidConstParamTy(ErrorGuaranteed),
EvaluationFailure(ErrorGuaranteed),
FailedNormalization(E),
}Variants§
HasGenericsOrInfers
The constant being evaluated was either a generic parameter or inference variable, or, some alias const with either generic parameters or inference variables in its generic arguments.
InvalidConstParamTy(ErrorGuaranteed)
The type this constant evaluated to is not valid for use in const generics. This should always result in an error when checking the constant is correctly typed for the parameter it is an argument to, so a bug is delayed when encountering this.
EvaluationFailure(ErrorGuaranteed)
CTFE failed to evaluate the constant in some unrecoverable way (e.g. encountered a panic!).
This is also used when the constant was already tainted by error.
FailedNormalization(E)
Trait Implementations§
Auto Trait Implementations§
impl<E> DynSend for EvaluateConstErr<E>where
E: DynSend,
impl<E> DynSync for EvaluateConstErr<E>where
E: DynSync,
impl<E> Freeze for EvaluateConstErr<E>where
E: Freeze,
impl<E> RefUnwindSafe for EvaluateConstErr<E>where
E: RefUnwindSafe,
impl<E> Send for EvaluateConstErr<E>where
E: Send,
impl<E> Sync for EvaluateConstErr<E>where
E: Sync,
impl<E> Unpin for EvaluateConstErr<E>where
E: Unpin,
impl<E> UnsafeUnpin for EvaluateConstErr<E>where
E: UnsafeUnpin,
impl<E> UnwindSafe for EvaluateConstErr<E>where
E: 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
Mutably borrows from an owned value. Read more
Source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
impl<T> ErasedDestructor for Twhere
T: 'static,
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> ⓘ
Converts
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> ⓘ
Converts
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<K> IntoQueryKey<K> for K
impl<K> IntoQueryKey<K> for K
Source§fn into_query_key(self) -> K
fn into_query_key(self) -> K
Argument conversion from
Self to K.
This should always be a very cheap conversion, e.g. LocalDefId::to_def_id.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<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> ⓘ
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.