[−][src]Enum rustc_middle::mir::ConstraintCategory
Outlives-constraints can be categorized to determine whether and why they are interesting (for error reporting). Order of variants indicates sort order of the category, thereby influencing diagnostic output.
See also rustc_mir::borrow_check::constraints.
Variants
Return(ReturnConstraint)A constraint that came from checking the body of a closure.
We try to get the category that the closure used when reporting this.
ClosureUpvar(HirId)A "boring" constraint (caused by the given location) is one that
the user probably doesn't want to see described in diagnostics,
because it is kind of an artifact of the type system setup.
Example: x = Foo { field: y } technically creates
intermediate regions representing the "type of Foo { field: y }", and data flows from y into those variables, but they
are not very interesting. The assignment into x on the other
hand might be.
A constraint that doesn't correspond to anything the user sees.
Trait Implementations
impl Clone for ConstraintCategory[src]
fn clone(&self) -> ConstraintCategory[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]
impl Copy for ConstraintCategory[src]
impl Debug for ConstraintCategory[src]
impl<'tcx, __D: TyDecoder<'tcx>> Decodable<__D> for ConstraintCategory[src]
impl<'tcx, __E: TyEncoder<'tcx>> Encodable<__E> for ConstraintCategory[src]
impl Eq for ConstraintCategory[src]
impl Hash for ConstraintCategory[src]
fn hash<__H: Hasher>(&self, state: &mut __H)[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher, 1.3.0[src]
H: Hasher,
impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for ConstraintCategory[src]
fn hash_stable(
&self,
__hcx: &mut StableHashingContext<'__ctx>,
__hasher: &mut StableHasher
)[src]
&self,
__hcx: &mut StableHashingContext<'__ctx>,
__hasher: &mut StableHasher
)
impl Ord for ConstraintCategory[src]
fn cmp(&self, other: &ConstraintCategory) -> Ordering[src]
#[must_use]fn max(self, other: Self) -> Self1.21.0[src]
#[must_use]fn min(self, other: Self) -> Self1.21.0[src]
#[must_use]fn clamp(self, min: Self, max: Self) -> Self[src]
impl PartialEq<ConstraintCategory> for ConstraintCategory[src]
fn eq(&self, other: &ConstraintCategory) -> bool[src]
fn ne(&self, other: &ConstraintCategory) -> bool[src]
impl PartialOrd<ConstraintCategory> for ConstraintCategory[src]
fn partial_cmp(&self, other: &ConstraintCategory) -> Option<Ordering>[src]
fn lt(&self, other: &ConstraintCategory) -> bool[src]
fn le(&self, other: &ConstraintCategory) -> bool[src]
fn gt(&self, other: &ConstraintCategory) -> bool[src]
fn ge(&self, other: &ConstraintCategory) -> bool[src]
impl StructuralEq for ConstraintCategory[src]
impl StructuralPartialEq for ConstraintCategory[src]
Auto Trait Implementations
impl RefUnwindSafe for ConstraintCategory
impl Send for ConstraintCategory
impl Sync for ConstraintCategory
impl Unpin for ConstraintCategory
impl UnwindSafe for ConstraintCategory
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<'tcx, T> ArenaAllocatable<'tcx, ()> for T where
T: Copy, [src]
T: Copy,
fn allocate_on(Self, &'a Arena<'tcx>) -> &'a mut T[src]
fn allocate_from_iter(
&'a Arena<'tcx>,
impl IntoIterator<Item = T>
) -> &'a mut [T][src]
&'a Arena<'tcx>,
impl IntoIterator<Item = T>
) -> &'a mut [T]
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<'a, T> Captures<'a> for T where
T: ?Sized, [src]
T: ?Sized,
impl<Ctxt, T> DepNodeParams<Ctxt> for T where
Ctxt: DepContext,
T: HashStable<<Ctxt as DepContext>::StableHashingContext> + Debug, [src]
Ctxt: DepContext,
T: HashStable<<Ctxt as DepContext>::StableHashingContext> + Debug,
default fn can_reconstruct_query_key() -> bool[src]
default fn to_fingerprint(&self, tcx: Ctxt) -> Fingerprint[src]
default fn to_debug_str(&self, Ctxt) -> String[src]
default fn recover(Ctxt, &DepNode<<Ctxt as DepContext>::DepKind>) -> Option<T>[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> MaybeResult<T> for T[src]
type Error = !
fn from(Result<T, <T as MaybeResult<T>>::Error>) -> T[src]
fn to_result(self) -> Result<T, <T as MaybeResult<T>>::Error>[src]
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T[src]
fn clone_into(&self, target: &mut T)[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.