rustc_trait_selection::traits::solve

Type Alias QueryInput

Source
pub type QueryInput<'tcx, P> = QueryInput<TyCtxt<'tcx>, P>;

Aliased Type§

struct QueryInput<'tcx, P> {
    pub goal: Goal<TyCtxt<'tcx>, P>,
    pub predefined_opaques_in_body: PredefinedOpaques<'tcx>,
}

Fields§

§goal: Goal<TyCtxt<'tcx>, P>§predefined_opaques_in_body: PredefinedOpaques<'tcx>

Layout§

Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.

Trait Implementations

Source§

impl<I, P> Clone for QueryInput<I, P>
where I: Interner, Goal<I, P>: Clone,

Source§

fn clone(&self) -> QueryInput<I, P>

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
Source§

impl<I, P> Debug for QueryInput<I, P>
where I: Interner, Goal<I, P>: Debug,

Source§

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

Formats the value using the given formatter. Read more
Source§

impl<I, P, __D> Decodable<__D> for QueryInput<I, P>
where I: Interner, __D: TyDecoder<I = I>, Goal<I, P>: Decodable<__D>, <I as Interner>::PredefinedOpaques: Decodable<__D>,

Source§

fn decode(__decoder: &mut __D) -> QueryInput<I, P>

Source§

impl<I, P, __E> Encodable<__E> for QueryInput<I, P>
where I: Interner, __E: TyEncoder<I = I>, Goal<I, P>: Encodable<__E>, <I as Interner>::PredefinedOpaques: Encodable<__E>,

Source§

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

Source§

impl<I, P> Hash for QueryInput<I, P>
where I: Interner, Goal<I, P>: Hash,

Source§

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
Source§

impl<I, P, __CTX> HashStable<__CTX> for QueryInput<I, P>
where I: Interner, Goal<I, P>: HashStable<__CTX>, <I as Interner>::PredefinedOpaques: HashStable<__CTX>,

Source§

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

Source§

impl<I, P> PartialEq for QueryInput<I, P>
where I: Interner, Goal<I, P>: PartialEq,

Source§

fn eq(&self, __other: &QueryInput<I, P>) -> 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.
Source§

impl<I, P> TypeFoldable<I> for QueryInput<I, P>

Source§

fn try_fold_with<__F>( self, __folder: &mut __F, ) -> Result<QueryInput<I, P>, <__F as FallibleTypeFolder<I>>::Error>
where __F: FallibleTypeFolder<I>,

The entry point for folding. To fold a value t with a folder f call: t.try_fold_with(f). Read more
Source§

fn fold_with<F>(self, folder: &mut F) -> Self
where F: TypeFolder<I>,

A convenient alternative to try_fold_with for use with infallible folders. Do not override this method, to ensure coherence with try_fold_with.
Source§

impl<I, P> TypeVisitable<I> for QueryInput<I, P>

Source§

fn visit_with<__V>( &self, __visitor: &mut __V, ) -> <__V as TypeVisitor<I>>::Result
where __V: TypeVisitor<I>,

The entry point for visiting. To visit a value t with a visitor v call: t.visit_with(v). Read more
Source§

impl<I, P> Copy for QueryInput<I, P>
where I: Interner, Goal<I, P>: Copy,

Source§

impl<I, P> Eq for QueryInput<I, P>
where I: Interner, Goal<I, P>: Eq,