[][src]Struct chalk_ir::Constraints

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

List of interned elements.

Implementations

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

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

Get the interned elements.

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

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

Tries to create a sequence using an iterator of element-like things.

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

Returns a slice containing the elements.

pub fn from_iter(
    interner: &I,
    elements: impl IntoIterator<Item = impl CastTo<InEnvironment<Constraint<I>>>>
) -> Self
[src]

Create a sequence from elements

pub fn at(&self, interner: &I, index: usize) -> &InEnvironment<Constraint<I>>[src]

Index into the sequence.

pub fn from1(
    interner: &I,
    element: impl CastTo<InEnvironment<Constraint<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<'_, InEnvironment<Constraint<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 Constraints<I> where
    I::InternedConstraints: Clone
[src]

impl<I: Copy + Interner> Copy for Constraints<I> where
    I::InternedConstraints: Copy
[src]

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

impl<I: Eq + Interner> Eq for Constraints<I> where
    I::InternedConstraints: Eq
[src]

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

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

type Interner = I

The interner associated with the type.

impl<I: Hash + Interner> Hash for Constraints<I> where
    I::InternedConstraints: Hash
[src]

impl<I: Ord + Interner> Ord for Constraints<I> where
    I::InternedConstraints: Ord
[src]

impl<I: PartialEq + Interner> PartialEq<Constraints<I>> for Constraints<I> where
    I::InternedConstraints: PartialEq
[src]

impl<I: PartialOrd + Interner> PartialOrd<Constraints<I>> for Constraints<I> where
    I::InternedConstraints: PartialOrd
[src]

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

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

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

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

Auto Trait Implementations

impl<I> RefUnwindSafe for Constraints<I> where
    <I as Interner>::InternedConstraints: RefUnwindSafe

impl<I> Send for Constraints<I> where
    <I as Interner>::InternedConstraints: Send

impl<I> Sync for Constraints<I> where
    <I as Interner>::InternedConstraints: Sync

impl<I> Unpin for Constraints<I> where
    <I as Interner>::InternedConstraints: Unpin

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