pub type Goal<'tcx, P> = Goal<TyCtxt<'tcx>, P>;
Aliased Type§
struct Goal<'tcx, P> {
pub param_env: ParamEnv<'tcx>,
pub predicate: P,
}
Fields§
§param_env: ParamEnv<'tcx>
§predicate: P
Implementations
Trait Implementations§
Source§impl<'tcx, P> From<Obligation<'tcx, P>> for Goal<'tcx, P>
impl<'tcx, P> From<Obligation<'tcx, P>> for Goal<'tcx, P>
Source§fn from(value: Obligation<'tcx, P>) -> Self
fn from(value: Obligation<'tcx, P>) -> Self
Converts to this type from the input type.
Source§impl<I, P, __CTX> HashStable<__CTX> for Goal<I, P>
impl<I, P, __CTX> HashStable<__CTX> for Goal<I, P>
fn hash_stable( &self, __hcx: &mut __CTX, __hasher: &mut StableHasher<SipHasher128>, )
Source§impl<I, P> TypeFoldable<I> for Goal<I, P>
impl<I, P> TypeFoldable<I> for Goal<I, P>
Source§fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<Goal<I, P>, <__F as FallibleTypeFolder<I>>::Error>where
__F: FallibleTypeFolder<I>,
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<Goal<I, P>, <__F as FallibleTypeFolder<I>>::Error>where
__F: FallibleTypeFolder<I>,
Source§fn fold_with<F>(self, folder: &mut F) -> Selfwhere
F: TypeFolder<I>,
fn fold_with<F>(self, folder: &mut F) -> Selfwhere
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 Goal<I, P>
impl<I, P> TypeVisitable<I> for Goal<I, P>
Source§fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<I>>::Resultwhere
__V: TypeVisitor<I>,
fn visit_with<__V>(
&self,
__visitor: &mut __V,
) -> <__V as TypeVisitor<I>>::Resultwhere
__V: TypeVisitor<I>,
impl<I, P> Copy for Goal<I, P>
impl<I, P> Eq for Goal<I, P>
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.