rustc_next_trait_solver::solve

Type Alias CanonicalInput

pub type CanonicalInput<I, T = <I as Interner>::Predicate> = CanonicalQueryInput<I, QueryInput<I, T>>;

Aliased Type§

struct CanonicalInput<I, T = <I as Interner>::Predicate> {
    pub canonical: Canonical<I, QueryInput<I, T>>,
    pub typing_mode: TypingMode<I>,
}

Fields§

§canonical: Canonical<I, QueryInput<I, T>>§typing_mode: TypingMode<I>

Layout§

Note: Encountered an error during type layout; the type failed to be normalized.

Trait Implementations

§

impl<I, V> Clone for CanonicalQueryInput<I, V>
where I: Interner, V: Clone,

§

fn clone(&self) -> CanonicalQueryInput<I, V>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl<I, V> Debug for CanonicalQueryInput<I, V>
where I: Interner, V: Debug,

§

fn fmt(&self, __f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl<I, V, __D> Decodable<__D> for CanonicalQueryInput<I, V>
where I: Interner, __D: TyDecoder<I = I>, Canonical<I, V>: Decodable<__D>, TypingMode<I>: Decodable<__D>,

§

fn decode(__decoder: &mut __D) -> CanonicalQueryInput<I, V>

§

impl<I, V, __E> Encodable<__E> for CanonicalQueryInput<I, V>
where I: Interner, __E: TyEncoder<I = I>, Canonical<I, V>: Encodable<__E>, TypingMode<I>: Encodable<__E>,

§

fn encode(&self, __encoder: &mut __E)

§

impl<I, V> Hash for CanonicalQueryInput<I, V>
where I: Interner, V: Hash,

§

fn hash<__H>(&self, __state: &mut __H)
where __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
§

impl<I, V, __CTX> HashStable<__CTX> for CanonicalQueryInput<I, V>
where I: Interner, Canonical<I, V>: HashStable<__CTX>, TypingMode<I>: HashStable<__CTX>,

§

fn hash_stable( &self, __hcx: &mut __CTX, __hasher: &mut StableHasher<SipHasher128>, )

§

impl<I, V> PartialEq for CanonicalQueryInput<I, V>
where I: Interner, V: PartialEq,

§

fn eq(&self, __other: &CanonicalQueryInput<I, V>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl<I, V> Copy for CanonicalQueryInput<I, V>
where I: Interner, V: Copy,

§

impl<I, V> Eq for CanonicalQueryInput<I, V>
where I: Interner, V: Eq,