[][src]Struct chalk_ir::GeneratorId

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

Id for Rust generators.

Trait Implementations

impl<I> CastTo<TypeName<I>> for GeneratorId<I> where
    I: Interner
[src]

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

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

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

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

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

type Result = GeneratorId<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 GeneratorId<I> where
    I::DefId: Hash
[src]

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

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

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

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

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

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

Auto Trait Implementations

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

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

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

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

impl<I> UnwindSafe for GeneratorId<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]