Enum rustc_middle::infer::unify_key::EffectVarValue
source · pub enum EffectVarValue<'tcx> {
Host,
NoHost,
Const(Const<'tcx>),
}
Expand description
values for the effect inference variable
Variants§
Host
The host effect is on, enabling access to syscalls, filesystem access, etc.
NoHost
The host effect is off. Execution is restricted to const operations only.
Const(Const<'tcx>)
Implementations§
Trait Implementations§
source§impl<'tcx> Clone for EffectVarValue<'tcx>
impl<'tcx> Clone for EffectVarValue<'tcx>
source§fn clone(&self) -> EffectVarValue<'tcx>
fn clone(&self) -> EffectVarValue<'tcx>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<'tcx> Debug for EffectVarValue<'tcx>
impl<'tcx> Debug for EffectVarValue<'tcx>
source§impl<'tcx> UnifyValue for EffectVarValue<'tcx>
impl<'tcx> UnifyValue for EffectVarValue<'tcx>
§type Error = (EffectVarValue<'tcx>, EffectVarValue<'tcx>)
type Error = (EffectVarValue<'tcx>, EffectVarValue<'tcx>)
Defines the type to return when merging of two values fails.
If merging is infallible, use the special struct
NoError
found in this crate, which unlocks various more convenient
methods on the unification table.impl<'tcx> Copy for EffectVarValue<'tcx>
Auto Trait Implementations§
impl<'tcx> !RefUnwindSafe for EffectVarValue<'tcx>
impl<'tcx> Send for EffectVarValue<'tcx>
impl<'tcx> Sync for EffectVarValue<'tcx>
impl<'tcx> Unpin for EffectVarValue<'tcx>
impl<'tcx> !UnwindSafe for EffectVarValue<'tcx>
Blanket Implementations§
source§impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
T: Copy,
impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere T: Copy,
fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut T
fn allocate_from_iter<'a>( arena: &'a Arena<'tcx>, iter: impl IntoIterator<Item = T> ) -> &'a mut [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
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
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
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: &[QueryInfo], _guar: ErrorGuaranteed ) -> T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 16 bytes
Size for each variant:
Host
: 0 bytesNoHost
: 0 bytesConst
: 8 bytes