[][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> Fold<I> for TraitId<I>[src]

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

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

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

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

impl<I> UnwindSafe for TraitId<I> where
    <I as Interner>::DefId: UnwindSafe
[src]

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
    T: Fold<I>,
    I: Interner
[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
    T: Visit<I>,
    I: Interner
[src]