pub type HostEffectPredicate<'tcx> = HostEffectPredicate<TyCtxt<'tcx>>;
Aliased Type§
struct HostEffectPredicate<'tcx> {
pub trait_ref: TraitRef<TyCtxt<'tcx>>,
pub host: HostPolarity,
}
Fields§
§trait_ref: TraitRef<TyCtxt<'tcx>>
§host: HostPolarity
Implementations
Trait Implementations§
Source§impl<'tcx, P: PrettyPrinter<'tcx>> Print<'tcx, P> for HostEffectPredicate<'tcx>
impl<'tcx, P: PrettyPrinter<'tcx>> Print<'tcx, P> for HostEffectPredicate<'tcx>
§impl<I, __CTX> HashStable<__CTX> for HostEffectPredicate<I>where
I: Interner,
TraitRef<I>: HashStable<__CTX>,
impl<I, __CTX> HashStable<__CTX> for HostEffectPredicate<I>where
I: Interner,
TraitRef<I>: HashStable<__CTX>,
fn hash_stable( &self, __hcx: &mut __CTX, __hasher: &mut StableHasher<SipHasher128>, )
§impl<I, J> Lift<J> for HostEffectPredicate<I>where
I: Interner,
J: Interner,
TraitRef<I>: Lift<J, Lifted = TraitRef<J>>,
HostPolarity: Lift<J, Lifted = HostPolarity>,
impl<I, J> Lift<J> for HostEffectPredicate<I>where
I: Interner,
J: Interner,
TraitRef<I>: Lift<J, Lifted = TraitRef<J>>,
HostPolarity: Lift<J, Lifted = HostPolarity>,
type Lifted = HostEffectPredicate<J>
fn lift_to_interner(self, interner: J) -> Option<HostEffectPredicate<J>>
§impl<I> TypeFoldable<I> for HostEffectPredicate<I>where
I: Interner,
TraitRef<I>: TypeFoldable<I>,
impl<I> TypeFoldable<I> for HostEffectPredicate<I>where
I: Interner,
TraitRef<I>: TypeFoldable<I>,
§fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<HostEffectPredicate<I>, <__F as FallibleTypeFolder<I>>::Error>where
__F: FallibleTypeFolder<I>,
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<HostEffectPredicate<I>, <__F as FallibleTypeFolder<I>>::Error>where
__F: FallibleTypeFolder<I>,
§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
.§impl<I> TypeVisitable<I> for HostEffectPredicate<I>where
I: Interner,
TraitRef<I>: TypeVisitable<I>,
impl<I> TypeVisitable<I> for HostEffectPredicate<I>where
I: Interner,
TraitRef<I>: TypeVisitable<I>,
§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> Copy for HostEffectPredicate<I>where
I: Interner,
impl<I> Eq for HostEffectPredicate<I>where
I: Interner,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 24 bytes