[][src]Struct chalk_ir::TraitId

pub struct TraitId<I: Interner>(pub I::DefId);

The id of a trait definition; could be used to load the trait datum by invoking the trait_datum method.

Trait Implementations

impl<I: Clone + Interner> Clone for TraitId<I> where
    I::DefId: Clone
[src]

impl<I: Copy + Interner> Copy for TraitId<I> where
    I::DefId: Copy
[src]

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

impl<I: Eq + Interner> Eq for TraitId<I> where
    I::DefId: Eq
[src]

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

type Result = TraitId<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: Hash + Interner> Hash for TraitId<I> where
    I::DefId: Hash
[src]

impl<I: Ord + Interner> Ord for TraitId<I> where
    I::DefId: Ord
[src]

impl<I: PartialEq + Interner> PartialEq<TraitId<I>> for TraitId<I> where
    I::DefId: PartialEq
[src]

impl<I: PartialOrd + Interner> PartialOrd<TraitId<I>> for TraitId<I> where
    I::DefId: PartialOrd
[src]

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

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

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

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

Auto Trait Implementations

impl<I> RefUnwindSafe for TraitId<I> where
    <I as Interner>::DefId: RefUnwindSafe

impl<I> Send for TraitId<I> where
    <I as Interner>::DefId: Send

impl<I> Sync for TraitId<I> where
    <I as Interner>::DefId: Sync

impl<I> Unpin for TraitId<I> where
    <I as Interner>::DefId: Unpin

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