[][src]Struct chalk_solve::rust_ir::GeneratorDatum

pub struct GeneratorDatum<I: Interner> {
    pub input_output: Binders<GeneratorInputOutputDatum<I>>,
}

Represents a generator type.

Fields

input_output: Binders<GeneratorInputOutputDatum<I>>

All of the nested types for this generator. The Binder represents the types and lifetimes that this generator is generic over - this behaves in the same way as AdtDatun.binders

Trait Implementations

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

impl<I: Debug + Interner> Debug for GeneratorDatum<I>[src]

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

impl<I: Interner, _TI> Fold<I, _TI> for GeneratorDatum<I> where
    _TI: TargetInterner<I>, 
[src]

type Result = GeneratorDatum<_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: Interner> HasInterner for GeneratorDatum<I>[src]

type Interner = I

The interner associated with the type.

impl<I: Hash + Interner> Hash for GeneratorDatum<I>[src]

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

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

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

Auto Trait Implementations

impl<I> RefUnwindSafe for GeneratorDatum<I> where
    <I as Interner>::InternedType: RefUnwindSafe,
    <I as Interner>::InternedVariableKinds: RefUnwindSafe

impl<I> Send for GeneratorDatum<I> where
    <I as Interner>::InternedType: Send,
    <I as Interner>::InternedVariableKinds: Send

impl<I> Sync for GeneratorDatum<I> where
    <I as Interner>::InternedType: Sync,
    <I as Interner>::InternedVariableKinds: Sync

impl<I> Unpin for GeneratorDatum<I> where
    <I as Interner>::InternedType: Unpin,
    <I as Interner>::InternedVariableKinds: Unpin

impl<I> UnwindSafe for GeneratorDatum<I> where
    <I as Interner>::InternedType: UnwindSafe,
    <I as Interner>::InternedVariableKinds: 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<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument 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.