[][src]Enum moore_vhdl::score::TypeCtx

pub enum TypeCtx<'ctx> {
    Type(&'ctx Ty),
    TypeOf(TypedNodeRef),
    Inherit(NodeId),
}

The type requirements imposed upon an expression by its context. This is needed for overload resolution, where the type of the overload to be picked is determined by the context in which the expression appears.

Variants

Type(&'ctx Ty)

The exact type the expression must have.

TypeOf(TypedNodeRef)

The node whose type the expression must match.

Inherit(NodeId)

The node whose type context the expression must inherit.

Trait Implementations

impl<'ctx> Clone for TypeCtx<'ctx>[src]

impl<'ctx> Copy for TypeCtx<'ctx>[src]

impl<'ctx> Debug for TypeCtx<'ctx>[src]

impl<'ctx> Eq for TypeCtx<'ctx>[src]

impl<'ctx> From<&'ctx Ty> for TypeCtx<'ctx>[src]

impl<'ctx, T> From<T> for TypeCtx<'ctx> where
    TypedNodeRef: From<T>, 
[src]

impl<'ctx> PartialEq<TypeCtx<'ctx>> for TypeCtx<'ctx>[src]

impl<'ctx> StructuralEq for TypeCtx<'ctx>[src]

impl<'ctx> StructuralPartialEq for TypeCtx<'ctx>[src]

Auto Trait Implementations

impl<'ctx> RefUnwindSafe for TypeCtx<'ctx>

impl<'ctx> Send for TypeCtx<'ctx>

impl<'ctx> Sync for TypeCtx<'ctx>

impl<'ctx> Unpin for TypeCtx<'ctx>

impl<'ctx> UnwindSafe for TypeCtx<'ctx>

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> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[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.