[][src]Struct chalk_ir::ConstrainedSubst

pub struct ConstrainedSubst<I: Interner> {
    pub subst: Substitution<I>,
    pub constraints: Vec<InEnvironment<Constraint<I>>>,
}

Combines a substitution (subst) with a set of region constraints (constraints). This represents the result of a query; the substitution stores the values for the query's unknown variables, and the constraints represents any region constraints that must additionally be solved.

Fields

subst: Substitution<I>constraints: Vec<InEnvironment<Constraint<I>>>

Trait Implementations

impl<I: Clone + Interner> Clone for ConstrainedSubst<I>[src]

impl<I: Debug + Interner> Debug for ConstrainedSubst<I>[src]

impl<I: Interner> Display for ConstrainedSubst<I>[src]

impl<I: Eq + Interner> Eq for ConstrainedSubst<I>[src]

impl<I: Interner, _TI> Fold<I, _TI> for ConstrainedSubst<I> where
    _TI: TargetInterner<I>, 
[src]

type Result = ConstrainedSubst<_TI>

The type of value that will be produced once folding is done. Typically this is Self, unless Self contains borrowed values, in which case owned values are produced (for example, one can fold over a &T value where T: Fold, in which case you get back a T, not a &T). Read more

impl<I: Interner> HasInterner for ConstrainedSubst<I>[src]

type Interner = I

impl<I: Hash + Interner> Hash for ConstrainedSubst<I>[src]

impl<I: PartialEq + Interner> PartialEq<ConstrainedSubst<I>> for ConstrainedSubst<I>[src]

impl<I: Interner> StructuralEq for ConstrainedSubst<I>[src]

impl<I: Interner> StructuralPartialEq for ConstrainedSubst<I>[src]

impl<I: Interner> Visit<I> for ConstrainedSubst<I>[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Cast for T[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, I> Shift<I> for T where
    I: Interner,
    T: Fold<I, I>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T, I> VisitExt<I> for T where
    I: Interner,
    T: Visit<I>, 
[src]