[][src]Struct chalk_ir::Goals

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

A list of goals.

Implementations

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

pub fn debug<'a>(&'a self, interner: &'a I) -> GoalsDebug<'a, I>[src]

Show debug output for Goals.

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

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

Creates an empty list of goals.

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

Get the interned list of goals.

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

Creates Goals using an iterator of goal-like things.

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

Tries to create a Goals using an iterator of goal-like things.

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

Get an iterator over the list of goals.

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

Checks whether the list of goals is empty.

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

Returns the number of goals.

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

Returns a slice containing the list of goals.

Trait Implementations

impl<I: Clone + Interner> Clone for Goals<I> where
    I::InternedGoals: Clone
[src]

impl<I: Copy + Interner> Copy for Goals<I> where
    I::InternedGoals: Copy
[src]

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

impl<I: Eq + Interner> Eq for Goals<I> where
    I::InternedGoals: Eq
[src]

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

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

type Interner = I

The interner associated with the type.

impl<I: Hash + Interner> Hash for Goals<I> where
    I::InternedGoals: Hash
[src]

impl<I: PartialEq + Interner> PartialEq<Goals<I>> for Goals<I> where
    I::InternedGoals: PartialEq
[src]

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

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

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

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

Auto Trait Implementations

impl<I> RefUnwindSafe for Goals<I> where
    <I as Interner>::InternedGoals: RefUnwindSafe

impl<I> Send for Goals<I> where
    <I as Interner>::InternedGoals: Send

impl<I> Sync for Goals<I> where
    <I as Interner>::InternedGoals: Sync

impl<I> Unpin for Goals<I> where
    <I as Interner>::InternedGoals: Unpin

impl<I> UnwindSafe for Goals<I> where
    <I as Interner>::InternedGoals: 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]