[][src]Struct chalk_ir::ProgramClauses

pub struct ProgramClauses<I: Interner> { /* fields omitted */ }

Implementations

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

pub fn new(interner: &I) -> Self[src]

pub fn interned(&self) -> &I::InternedProgramClauses[src]

pub fn from(
    interner: &I,
    clauses: impl IntoIterator<Item = impl CastTo<ProgramClause<I>>>
) -> Self
[src]

pub fn from_fallible<E>(
    interner: &I,
    clauses: impl IntoIterator<Item = Result<impl CastTo<ProgramClause<I>>, E>>
) -> Result<Self, E>
[src]

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

pub fn is_empty(&self, interner: &I) -> bool[src]

pub fn len(&self, interner: &I) -> usize[src]

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

Trait Implementations

impl<I: Clone + Interner> Clone for ProgramClauses<I> where
    I::InternedProgramClauses: Clone
[src]

impl<I: Copy + Interner> Copy for ProgramClauses<I> where
    I::InternedProgramClauses: Copy
[src]

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

impl<I: Eq + Interner> Eq for ProgramClauses<I> where
    I::InternedProgramClauses: Eq
[src]

impl<I: Interner, TI: TargetInterner<I>> Fold<I, TI> for ProgramClauses<I>[src]

type Result = ProgramClauses<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 ProgramClauses<I>[src]

type Interner = I

impl<I: Hash + Interner> Hash for ProgramClauses<I> where
    I::InternedProgramClauses: Hash
[src]

impl<I: Ord + Interner> Ord for ProgramClauses<I> where
    I::InternedProgramClauses: Ord
[src]

impl<I: PartialEq + Interner> PartialEq<ProgramClauses<I>> for ProgramClauses<I> where
    I::InternedProgramClauses: PartialEq
[src]

impl<I: PartialOrd + Interner> PartialOrd<ProgramClauses<I>> for ProgramClauses<I> where
    I::InternedProgramClauses: PartialOrd
[src]

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

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

impl<I: Interner> Visit<I> for ProgramClauses<I>[src]

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

Auto Trait Implementations

impl<I> RefUnwindSafe for ProgramClauses<I> where
    <I as Interner>::InternedProgramClauses: RefUnwindSafe

impl<I> Send for ProgramClauses<I> where
    <I as Interner>::InternedProgramClauses: Send

impl<I> Sync for ProgramClauses<I> where
    <I as Interner>::InternedProgramClauses: Sync

impl<I> Unpin for ProgramClauses<I> where
    <I as Interner>::InternedProgramClauses: Unpin

impl<I> UnwindSafe for ProgramClauses<I> where
    <I as Interner>::InternedProgramClauses: 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.

impl<T, I> VisitExt<I> for T where
    I: Interner,
    T: Visit<I>, 
[src]