[][src]Enum chalk_ir::ProgramClauseData

pub enum ProgramClauseData<I: Interner> {
    Implies(ProgramClauseImplication<I>),
    ForAll(Binders<ProgramClauseImplication<I>>),
}

Variants

Implementations

impl<I: Interner> ProgramClauseData<I>[src]

pub fn into_from_env_clause(self, interner: &I) -> ProgramClauseData<I>[src]

pub fn intern(self, interner: &I) -> ProgramClause<I>[src]

Trait Implementations

impl<I: Clone + Interner> Clone for ProgramClauseData<I>[src]

impl<I: Interner> CouldMatch<DomainGoal<I>> for ProgramClauseData<I>[src]

impl<I: Interner> Debug for ProgramClauseData<I>[src]

impl<I: Eq + Interner> Eq for ProgramClauseData<I>[src]

impl<I: Interner, _TI> Fold<I, _TI> for ProgramClauseData<I> where
    _TI: TargetInterner<I>, 
[src]

type Result = ProgramClauseData<_TI>

The type of value that will be produced once folding is done. Typically this is Self, unless Self contains borrowed values, in which case owned values are produced (for example, one can fold over a &T value where T: Fold, in which case you get back a T, not a &T). Read more

impl<I: Interner> HasInterner for ProgramClauseData<I>[src]

type Interner = I

impl<I: Hash + Interner> Hash for ProgramClauseData<I>[src]

impl<I: PartialEq + Interner> PartialEq<ProgramClauseData<I>> for ProgramClauseData<I>[src]

impl<I: Interner> StructuralEq for ProgramClauseData<I>[src]

impl<I: Interner> StructuralPartialEq for ProgramClauseData<I>[src]

impl<I: Interner, TI: TargetInterner<I>> SuperFold<I, TI> for ProgramClauseData<I>[src]

impl<I: Interner> Zip<I> for ProgramClauseData<I>[src]

Auto Trait Implementations

impl<I> RefUnwindSafe for ProgramClauseData<I> where
    <I as Interner>::DefId: RefUnwindSafe,
    <I as Interner>::InternedGoals: RefUnwindSafe,
    <I as Interner>::InternedLifetime: RefUnwindSafe,
    <I as Interner>::InternedSubstitution: RefUnwindSafe,
    <I as Interner>::InternedType: RefUnwindSafe,
    <I as Interner>::InternedVariableKinds: RefUnwindSafe

impl<I> Send for ProgramClauseData<I> where
    <I as Interner>::DefId: Send,
    <I as Interner>::InternedGoals: Send,
    <I as Interner>::InternedLifetime: Send,
    <I as Interner>::InternedSubstitution: Send,
    <I as Interner>::InternedType: Send,
    <I as Interner>::InternedVariableKinds: Send

impl<I> Sync for ProgramClauseData<I> where
    <I as Interner>::DefId: Sync,
    <I as Interner>::InternedGoals: Sync,
    <I as Interner>::InternedLifetime: Sync,
    <I as Interner>::InternedSubstitution: Sync,
    <I as Interner>::InternedType: Sync,
    <I as Interner>::InternedVariableKinds: Sync

impl<I> Unpin for ProgramClauseData<I> where
    <I as Interner>::DefId: Unpin,
    <I as Interner>::InternedGoals: Unpin,
    <I as Interner>::InternedLifetime: Unpin,
    <I as Interner>::InternedSubstitution: Unpin,
    <I as Interner>::InternedType: Unpin,
    <I as Interner>::InternedVariableKinds: Unpin

impl<I> UnwindSafe for ProgramClauseData<I> where
    <I as Interner>::DefId: UnwindSafe,
    <I as Interner>::InternedGoals: UnwindSafe,
    <I as Interner>::InternedLifetime: UnwindSafe,
    <I as Interner>::InternedSubstitution: UnwindSafe,
    <I as Interner>::InternedType: UnwindSafe,
    <I as Interner>::InternedVariableKinds: UnwindSafe

Blanket Implementations

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

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

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

impl<T> Cast for T[src]

impl<T, I> CouldMatch<T> for T where
    I: Interner,
    T: Zip<I> + HasInterner<Interner = I> + ?Sized
[src]

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

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

impl<T, I> Shift<I> for T where
    I: Interner,
    T: Fold<I, I>, 
[src]

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

type Owned = T

The resulting type after obtaining ownership.

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.