[][src]Enum rustc::ty::ExistentialPredicate

pub enum ExistentialPredicate<'tcx> {
    Trait(ExistentialTraitRef<'tcx>),
    Projection(ExistentialProjection<'tcx>),
    AutoTrait(DefId),
}
⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Variants

Trait(ExistentialTraitRef<'tcx>)
⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

E.g., Iterator.

Projection(ExistentialProjection<'tcx>)
⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

E.g., Iterator::Item = T.

AutoTrait(DefId)
⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

E.g., Send.

Methods

impl<'tcx> ExistentialPredicate<'tcx>[src]

pub fn stable_cmp(&self, tcx: TyCtxt<'tcx>, other: &Self) -> Ordering[src]

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Compares via an ordering that will not change if modules are reordered or other changes are made to the tree. In particular, this ordering is preserved across incremental compilations.

Trait Implementations

impl<'tcx> Clone for ExistentialPredicate<'tcx>[src]

impl<'tcx> Copy for ExistentialPredicate<'tcx>[src]

impl<'tcx> Debug for ExistentialPredicate<'tcx>[src]

impl<'tcx> Decodable for ExistentialPredicate<'tcx>[src]

impl<'tcx> Display for ExistentialPredicate<'tcx>[src]

impl<'tcx> Encodable for ExistentialPredicate<'tcx>[src]

impl<'tcx> Eq for ExistentialPredicate<'tcx>[src]

impl<'tcx> Hash for ExistentialPredicate<'tcx>[src]

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for ExistentialPredicate<'tcx>[src]

impl<'a, 'tcx> Lift<'tcx> for ExistentialPredicate<'a>[src]

type Lifted = ExistentialPredicate<'tcx>

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

impl<'tcx> Ord for ExistentialPredicate<'tcx>[src]

impl<'tcx> PartialEq<ExistentialPredicate<'tcx>> for ExistentialPredicate<'tcx>[src]

impl<'tcx> PartialOrd<ExistentialPredicate<'tcx>> for ExistentialPredicate<'tcx>[src]

impl<'tcx, P: PrettyPrinter<'tcx>> Print<'tcx, P> for ExistentialPredicate<'tcx>[src]

type Output = P

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

type Error = Error

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

impl<'tcx> StructuralEq for ExistentialPredicate<'tcx>[src]

impl<'tcx> StructuralPartialEq for ExistentialPredicate<'tcx>[src]

impl<'tcx> TypeFoldable<'tcx> for ExistentialPredicate<'tcx>[src]

Auto Trait Implementations

impl<'tcx> !RefUnwindSafe for ExistentialPredicate<'tcx>

impl<'tcx> !Send for ExistentialPredicate<'tcx>

impl<'tcx> !Sync for ExistentialPredicate<'tcx>

impl<'tcx> Unpin for ExistentialPredicate<'tcx>

impl<'tcx> !UnwindSafe for ExistentialPredicate<'tcx>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> ArenaAllocatable for T where
    T: Copy
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<'a, T> Captures<'a> for T where
    T: ?Sized
[src]

impl<T> Decodable for T where
    T: UseSpecializedDecodable
[src]

impl<T> Encodable for T where
    T: UseSpecializedEncodable + ?Sized
[src]

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> Erased for T[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> MaybeResult<T> for T[src]

type Error = !

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

impl<E> SpecializationError for E[src]

impl<'tcx, T> Subst<'tcx> for T where
    T: TypeFoldable<'tcx>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> WithConstness for T[src]