[−][src]Struct chalk_ir::Goals
List of interned elements.
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 interned(&self) -> &I::InternedGoals[src]
Get the interned elements.
impl<I: Interner> Goals<I>[src]
pub fn from_fallible<E>(
interner: &I,
elements: impl IntoIterator<Item = Result<impl CastTo<Goal<I>>, E>>
) -> Result<Self, E>[src]
interner: &I,
elements: impl IntoIterator<Item = Result<impl CastTo<Goal<I>>, E>>
) -> Result<Self, E>
Tries to create a sequence using an iterator of element-like things.
pub fn as_slice(&self, interner: &I) -> &[Goal<I>][src]
Returns a slice containing the elements.
pub fn from_iter(
interner: &I,
elements: impl IntoIterator<Item = impl CastTo<Goal<I>>>
) -> Self[src]
interner: &I,
elements: impl IntoIterator<Item = impl CastTo<Goal<I>>>
) -> Self
Create a sequence from elements
pub fn at(&self, interner: &I, index: usize) -> &Goal<I>[src]
Index into the sequence.
pub fn from1(interner: &I, element: impl CastTo<Goal<I>>) -> Self[src]
Create a sequence from a single element.
pub fn empty(interner: &I) -> Self[src]
Create an empty sequence.
pub fn is_empty(&self, interner: &I) -> bool[src]
Check whether this is an empty sequence.
pub fn iter(&self, interner: &I) -> Iter<Goal<I>>[src]
Get an iterator over the elements of the sequence.
pub fn len(&self, interner: &I) -> usize[src]
Get the length of the sequence.
Trait Implementations
impl<I: Clone + Interner> Clone for Goals<I> where
I::InternedGoals: Clone, [src]
I::InternedGoals: Clone,
impl<I: Copy + Interner> Copy for Goals<I> where
I::InternedGoals: Copy, [src]
I::InternedGoals: Copy,
impl<I: Interner> Debug for Goals<I>[src]
impl<I: Eq + Interner> Eq for Goals<I> where
I::InternedGoals: Eq, [src]
I::InternedGoals: Eq,
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
fn fold_with<'i>(
&self,
folder: &mut dyn Folder<'i, I, TI>,
outer_binder: DebruijnIndex
) -> Fallible<Self::Result> where
I: 'i,
TI: 'i, [src]
&self,
folder: &mut dyn Folder<'i, I, TI>,
outer_binder: DebruijnIndex
) -> Fallible<Self::Result> where
I: 'i,
TI: 'i,
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]
I::InternedGoals: Hash,
fn hash<__H: Hasher>(&self, state: &mut __H)[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher, 1.3.0[src]
H: Hasher,
impl<I: Ord + Interner> Ord for Goals<I> where
I::InternedGoals: Ord, [src]
I::InternedGoals: Ord,
fn cmp(&self, other: &Goals<I>) -> Ordering[src]
#[must_use]fn max(self, other: Self) -> Self1.21.0[src]
#[must_use]fn min(self, other: Self) -> Self1.21.0[src]
#[must_use]fn clamp(self, min: Self, max: Self) -> Self[src]
impl<I: PartialEq + Interner> PartialEq<Goals<I>> for Goals<I> where
I::InternedGoals: PartialEq, [src]
I::InternedGoals: PartialEq,
impl<I: PartialOrd + Interner> PartialOrd<Goals<I>> for Goals<I> where
I::InternedGoals: PartialOrd, [src]
I::InternedGoals: PartialOrd,
fn partial_cmp(&self, other: &Goals<I>) -> Option<Ordering>[src]
fn lt(&self, other: &Goals<I>) -> bool[src]
fn le(&self, other: &Goals<I>) -> bool[src]
fn gt(&self, other: &Goals<I>) -> bool[src]
fn ge(&self, other: &Goals<I>) -> bool[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]
fn visit_with<'i, R: VisitResult>(
&self,
visitor: &mut dyn Visitor<'i, I, Result = R>,
outer_binder: DebruijnIndex
) -> R where
I: 'i, [src]
&self,
visitor: &mut dyn Visitor<'i, I, Result = R>,
outer_binder: DebruijnIndex
) -> R where
I: 'i,
impl<I: Interner> Zip<I> for Goals<I>[src]
Auto Trait Implementations
impl<I> RefUnwindSafe for Goals<I> where
<I as Interner>::InternedGoals: RefUnwindSafe,
<I as Interner>::InternedGoals: RefUnwindSafe,
impl<I> Send for Goals<I> where
<I as Interner>::InternedGoals: Send,
<I as Interner>::InternedGoals: Send,
impl<I> Sync for Goals<I> where
<I as Interner>::InternedGoals: Sync,
<I as Interner>::InternedGoals: Sync,
impl<I> Unpin for Goals<I> where
<I as Interner>::InternedGoals: Unpin,
<I as Interner>::InternedGoals: Unpin,
impl<I> UnwindSafe for Goals<I> where
<I as Interner>::InternedGoals: UnwindSafe,
<I as Interner>::InternedGoals: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> Cast for T[src]
fn cast<U>(self, interner: &U::Interner) -> U where
Self: CastTo<U>,
U: HasInterner, [src]
Self: CastTo<U>,
U: HasInterner,
impl<T, I> CouldMatch<T> for T where
I: Interner,
T: Zip<I> + HasInterner<Interner = I> + ?Sized, [src]
I: Interner,
T: Zip<I> + HasInterner<Interner = I> + ?Sized,
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T, I> Shift<I> for T where
I: Interner,
T: Fold<I, I>, [src]
I: Interner,
T: Fold<I, I>,
fn shifted_in(&Self, &I) -> <T as Fold<I, I>>::Result[src]
fn shifted_in_from(&Self, &I, DebruijnIndex) -> <T as Fold<I, I>>::Result[src]
fn shifted_out_to(
&Self,
&I,
DebruijnIndex
) -> Result<<T as Fold<I, I>>::Result, NoSolution>[src]
&Self,
&I,
DebruijnIndex
) -> Result<<T as Fold<I, I>>::Result, NoSolution>
fn shifted_out(&Self, &I) -> Result<<T as Fold<I, I>>::Result, NoSolution>[src]
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T[src]
fn clone_into(&self, target: &mut T)[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<T, I> VisitExt<I> for T where
I: Interner,
T: Visit<I>, [src]
I: Interner,
T: Visit<I>,