Struct chalk_ir::ProgramClauseData[][src]

pub struct ProgramClauseData<I: Interner>(pub Binders<ProgramClauseImplication<I>>);

Contains the data for a program clause.

Implementations

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

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

Change the program clause data into a FromEnv program clause.

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

Intern the program clause data.

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> Fold<I> for ProgramClauseData<I>[src]

type Result = ProgramClauseData<I>

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

The interner associated with the type.

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> SuperFold<I> 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>::InternedConstraints: 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
[src]

impl<I> Send for ProgramClauseData<I> where
    <I as Interner>::DefId: Send,
    <I as Interner>::InternedConstraints: 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
[src]

impl<I> Sync for ProgramClauseData<I> where
    <I as Interner>::DefId: Sync,
    <I as Interner>::InternedConstraints: 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
[src]

impl<I> Unpin for ProgramClauseData<I> where
    <I as Interner>::DefId: Unpin,
    <I as Interner>::InternedConstraints: 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
[src]

impl<I> UnwindSafe for ProgramClauseData<I> where
    <I as Interner>::DefId: UnwindSafe,
    <I as Interner>::InternedConstraints: 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
[src]

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
    T: Zip<I> + HasInterner<Interner = I> + ?Sized,
    I: Interner
[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
    T: Fold<I>,
    I: Interner
[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.