pub type ProjectionPredicate<'tcx> = ProjectionPredicate<TyCtxt<'tcx>>;
Aliased Type§
struct ProjectionPredicate<'tcx> {
pub projection_term: AliasTerm<TyCtxt<'tcx>>,
pub term: Term<'tcx>,
}
Fields§
§projection_term: AliasTerm<TyCtxt<'tcx>>
§term: Term<'tcx>
Implementations
Source§impl<I> ProjectionPredicate<I>where
I: Interner,
impl<I> ProjectionPredicate<I>where
I: Interner,
Trait Implementations§
Source§impl<'tcx, P: PrettyPrinter<'tcx>> Print<'tcx, P> for ProjectionPredicate<'tcx>
impl<'tcx, P: PrettyPrinter<'tcx>> Print<'tcx, P> for ProjectionPredicate<'tcx>
Source§impl<I> Clone for ProjectionPredicate<I>where
I: Interner,
impl<I> Clone for ProjectionPredicate<I>where
I: Interner,
Source§fn clone(&self) -> ProjectionPredicate<I>
fn clone(&self) -> ProjectionPredicate<I>
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<I> Debug for ProjectionPredicate<I>where
I: Interner,
impl<I> Debug for ProjectionPredicate<I>where
I: Interner,
Source§impl<I, __D> Decodable<__D> for ProjectionPredicate<I>
impl<I, __D> Decodable<__D> for ProjectionPredicate<I>
fn decode(__decoder: &mut __D) -> ProjectionPredicate<I>
Source§impl<I> Display for ProjectionPredicate<I>where
I: Interner,
impl<I> Display for ProjectionPredicate<I>where
I: Interner,
Source§impl<I, __E> Encodable<__E> for ProjectionPredicate<I>
impl<I, __E> Encodable<__E> for ProjectionPredicate<I>
Source§impl<I> Hash for ProjectionPredicate<I>where
I: Interner,
impl<I> Hash for ProjectionPredicate<I>where
I: Interner,
Source§impl<I, __CTX> HashStable<__CTX> for ProjectionPredicate<I>
impl<I, __CTX> HashStable<__CTX> for ProjectionPredicate<I>
fn hash_stable( &self, __hcx: &mut __CTX, __hasher: &mut StableHasher<SipHasher128>, )
Source§impl<I, J> Lift<J> for ProjectionPredicate<I>
impl<I, J> Lift<J> for ProjectionPredicate<I>
type Lifted = ProjectionPredicate<J>
fn lift_to_interner(self, interner: J) -> Option<ProjectionPredicate<J>>
Source§impl<I> PartialEq for ProjectionPredicate<I>where
I: Interner,
impl<I> PartialEq for ProjectionPredicate<I>where
I: Interner,
Source§impl<I> TypeFoldable<I> for ProjectionPredicate<I>
impl<I> TypeFoldable<I> for ProjectionPredicate<I>
Source§fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<ProjectionPredicate<I>, <__F as FallibleTypeFolder<I>>::Error>where
__F: FallibleTypeFolder<I>,
fn try_fold_with<__F>(
self,
__folder: &mut __F,
) -> Result<ProjectionPredicate<I>, <__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> TypeVisitable<I> for ProjectionPredicate<I>
impl<I> TypeVisitable<I> for ProjectionPredicate<I>
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> Copy for ProjectionPredicate<I>where
I: Interner,
impl<I> Eq for ProjectionPredicate<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