Struct rustc_mir::borrow_check::region_infer::AppliedMemberConstraint [−][src]
pub(crate) struct AppliedMemberConstraint {
pub(super) member_region_scc: ConstraintSccIndex,
pub(super) min_choice: RegionVid,
pub(super) member_constraint_index: NllMemberConstraintIndex,
}Expand description
Each time that apply_member_constraint is successful, it appends
one of these structs to the member_constraints_applied field.
This is used in error reporting to trace out what happened.
The way that apply_member_constraint works is that it effectively
adds a new lower bound to the SCC it is analyzing: so you wind up
with 'R: 'O where 'R is the pick-region and 'O is the
minimal viable option.
Fields
member_region_scc: ConstraintSccIndexExpand description
The SCC that was affected. (The “member region”.)
The vector if AppliedMemberConstraint elements is kept sorted
by this field.
min_choice: RegionVidExpand description
The “best option” that apply_member_constraint found – this was
added as an “ad-hoc” lower-bound to member_region_scc.
member_constraint_index: NllMemberConstraintIndexExpand description
The “member constraint index” – we can find out details about
the constraint from
set.member_constraints[member_constraint_index].
Trait Implementations
impl Clone for AppliedMemberConstraint[src]
impl Clone for AppliedMemberConstraint[src]fn clone(&self) -> AppliedMemberConstraint[src]
fn clone(&self) -> AppliedMemberConstraint[src]Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]Performs copy-assignment from source. Read more
impl Debug for AppliedMemberConstraint[src]
impl Debug for AppliedMemberConstraint[src]impl Ord for AppliedMemberConstraint[src]
impl Ord for AppliedMemberConstraint[src]impl PartialEq<AppliedMemberConstraint> for AppliedMemberConstraint[src]
impl PartialEq<AppliedMemberConstraint> for AppliedMemberConstraint[src]fn eq(&self, other: &AppliedMemberConstraint) -> bool[src]
fn eq(&self, other: &AppliedMemberConstraint) -> bool[src]This method tests for self and other values to be equal, and is used
by ==. Read more
fn ne(&self, other: &AppliedMemberConstraint) -> bool[src]
fn ne(&self, other: &AppliedMemberConstraint) -> bool[src]This method tests for !=.
impl PartialOrd<AppliedMemberConstraint> for AppliedMemberConstraint[src]
impl PartialOrd<AppliedMemberConstraint> for AppliedMemberConstraint[src]fn partial_cmp(&self, other: &AppliedMemberConstraint) -> Option<Ordering>[src]
fn partial_cmp(&self, other: &AppliedMemberConstraint) -> Option<Ordering>[src]This method returns an ordering between self and other values if one exists. Read more
#[must_use]fn lt(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool1.0.0[src]This method tests less than (for self and other) and is used by the < operator. Read more
#[must_use]fn le(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool1.0.0[src]This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
impl Copy for AppliedMemberConstraint[src]
impl Eq for AppliedMemberConstraint[src]
impl StructuralEq for AppliedMemberConstraint[src]
impl StructuralPartialEq for AppliedMemberConstraint[src]
Auto Trait Implementations
impl RefUnwindSafe for AppliedMemberConstraint
impl Send for AppliedMemberConstraint
impl Sync for AppliedMemberConstraint
impl Unpin for AppliedMemberConstraint
impl UnwindSafe for AppliedMemberConstraint
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone, [src]
impl<T> ToOwned for T where
T: Clone, [src]type Owned = T
type Owned = TThe resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn to_owned(&self) -> T[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)[src]
pub fn clone_into(&self, target: &mut T)[src]🔬 This is a nightly-only experimental API. (toowned_clone_into)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> WithConstness for T[src]
impl<T> WithConstness for T[src]