[][src]Enum moore_vhdl::hir::Range2

pub enum Range2<'t> {
    Immediate(SpanSpanned<Dir>, &'t dyn Expr2<'t>, &'t dyn Expr2<'t>),
}

A range.

See IEEE 1076-2008 section 5.2.1.

range := range.attribute_name | simple_expression direction simple_expression

Variants

Immediate(SpanSpanned<Dir>, &'t dyn Expr2<'t>, &'t dyn Expr2<'t>)

An range given by two immediate values.

Implementations

impl<'t> Range2<'t>[src]

pub fn bound_type<C>(&self, ctx: C) -> Result<&'t dyn Type> where
    C: ExprContext<'t> + Copy
[src]

Determine the type of the range.

This determines the type of the range's bounds and applies any necessary implicit casts to make them be of the same type.

pub fn constant_value<C>(
    &self,
    ctx: C
) -> Result<(Dir, &'t dyn Const2<'t>, &'t dyn Const2<'t>)> where
    C: ExprContext<'t> + Copy
[src]

Determine the constant value of the range.

Trait Implementations

impl<'t> Debug for Range2<'t>[src]

Auto Trait Implementations

impl<'t> !RefUnwindSafe for Range2<'t>[src]

impl<'t> !Send for Range2<'t>[src]

impl<'t> !Sync for Range2<'t>[src]

impl<'t> Unpin for Range2<'t>[src]

impl<'t> !UnwindSafe for Range2<'t>[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> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

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.