[][src]Enum chalk_ir::GenericArgData

pub enum GenericArgData<I: Interner> {
    Ty(Ty<I>),
    Lifetime(Lifetime<I>),
    Const(Const<I>),
}

Generic arguments data.

Variants

Ty(Ty<I>)

Type argument

Lifetime(Lifetime<I>)

Lifetime argument

Const(Const<I>)

Constant argument

Implementations

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

pub fn inner_debug(&self) -> GenericArgDataInnerDebug<'_, I>[src]

Helper method for debugging GenericArgData.

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

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

Create an interned type.

Trait Implementations

impl<I: Clone + Interner> Clone for GenericArgData<I>[src]

impl<I: Interner> Copy for GenericArgData<I> where
    I::InternedType: Copy,
    I::InternedLifetime: Copy,
    I::InternedConst: Copy
[src]

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

impl<I: Eq + Interner> Eq for GenericArgData<I>[src]

impl<I: Interner> Fold<I> for GenericArgData<I>[src]

type Result = GenericArgData<I>

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: Hash + Interner> Hash for GenericArgData<I>[src]

impl<I: PartialEq + Interner> PartialEq<GenericArgData<I>> for GenericArgData<I>[src]

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

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

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

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

Auto Trait Implementations

impl<I> RefUnwindSafe for GenericArgData<I> where
    <I as Interner>::InternedConst: RefUnwindSafe,
    <I as Interner>::InternedLifetime: RefUnwindSafe,
    <I as Interner>::InternedType: RefUnwindSafe

impl<I> Send for GenericArgData<I> where
    <I as Interner>::InternedConst: Send,
    <I as Interner>::InternedLifetime: Send,
    <I as Interner>::InternedType: Send

impl<I> Sync for GenericArgData<I> where
    <I as Interner>::InternedConst: Sync,
    <I as Interner>::InternedLifetime: Sync,
    <I as Interner>::InternedType: Sync

impl<I> Unpin for GenericArgData<I> where
    <I as Interner>::InternedConst: Unpin,
    <I as Interner>::InternedLifetime: Unpin,
    <I as Interner>::InternedType: Unpin

impl<I> UnwindSafe for GenericArgData<I> where
    <I as Interner>::InternedConst: UnwindSafe,
    <I as Interner>::InternedLifetime: UnwindSafe,
    <I as Interner>::InternedType: 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>, 
[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]