Enum rustc_middle::mir::ConstraintCategory [−][src]
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]
pub 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]
pub 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]pub fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self
1.50.0[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]
#[must_use]pub fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn ge(&self, other: &Rhs) -> bool
1.0.0[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,
pub fn allocate_on(Self, &'a Arena<'tcx>) -> &'a mut T
[src]
pub 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,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<'a, T> Captures<'a> for T where
T: ?Sized,
[src]
T: ?Sized,
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 = !
pub fn from(Result<T, <T as MaybeResult<T>>::Error>) -> T
[src]
pub 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.
pub fn to_owned(&self) -> T
[src]
pub 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.
pub 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.