[][src]Enum chalk_ir::ParameterKind

pub enum ParameterKind<T, L = T> {
    Ty(T),
    Lifetime(L),
}

Variants

Ty(T)
Lifetime(L)

Methods

impl<I: Interner> ParameterKind<Ty<I>, Lifetime<I>>[src]

impl<T> ParameterKind<T>[src]

pub fn into_inner(self) -> T[src]

pub fn map<OP, U>(self, op: OP) -> ParameterKind<U> where
    OP: FnOnce(T) -> U, 
[src]

pub fn map_ref<OP, U>(&self, op: OP) -> ParameterKind<U> where
    OP: FnOnce(&T) -> U, 
[src]

impl<T, L> ParameterKind<T, L>[src]

pub fn assert_ty_ref(&self) -> &T[src]

pub fn assert_lifetime_ref(&self) -> &L[src]

pub fn as_ref(&self) -> ParameterKind<&T, &L>[src]

pub fn is_ty(&self) -> bool[src]

pub fn ty(self) -> Option<T>[src]

pub fn lifetime(self) -> Option<L>[src]

impl<I: Interner> ParameterKind<Ty<I>, Lifetime<I>>[src]

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

Trait Implementations

impl<T: Clone, L: Clone> Clone for ParameterKind<T, L>[src]

impl<T: Copy, L: Copy> Copy for ParameterKind<T, L>[src]

impl<T: Debug, L: Debug> Debug for ParameterKind<T, L>[src]

impl<T: Eq, L: Eq> Eq for ParameterKind<T, L>[src]

impl<I: Interner, TI: TargetInterner<I>, T, L> Fold<I, TI> for ParameterKind<T, L> where
    T: Fold<I, TI>,
    L: Fold<I, TI>, 
[src]

type Result = ParameterKind<T::Result, L::Result>

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<T: Hash, L: Hash> Hash for ParameterKind<T, L>[src]

impl<T: Ord, L: Ord> Ord for ParameterKind<T, L>[src]

impl<T: PartialEq, L: PartialEq> PartialEq<ParameterKind<T, L>> for ParameterKind<T, L>[src]

impl<T: PartialOrd, L: PartialOrd> PartialOrd<ParameterKind<T, L>> for ParameterKind<T, L>[src]

impl<T, L> StructuralEq for ParameterKind<T, L>[src]

impl<T, L> StructuralPartialEq for ParameterKind<T, L>[src]

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

impl<T: Zip<I>, L: Zip<I>, I: Interner> Zip<I> for ParameterKind<T, L>[src]

Auto Trait Implementations

impl<T, L> RefUnwindSafe for ParameterKind<T, L> where
    L: RefUnwindSafe,
    T: RefUnwindSafe

impl<T, L> Send for ParameterKind<T, L> where
    L: Send,
    T: Send

impl<T, L> Sync for ParameterKind<T, L> where
    L: Sync,
    T: Sync

impl<T, L> Unpin for ParameterKind<T, L> where
    L: Unpin,
    T: Unpin

impl<T, L> UnwindSafe for ParameterKind<T, L> where
    L: UnwindSafe,
    T: 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> 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]