Struct DimSpan

Source
pub struct DimSpan {
    pub name: String,
    pub name_pos: LineCol,
    pub shared: bool,
    pub vtype: ExprType,
    pub vtype_pos: LineCol,
}
Expand description

Components of a variable definition.

Given that a definition causes the variable to be initialized to a default value, it is tempting to model this statement as a simple assignment. However, we must be able to detect variable redeclarations at runtime, so we must treat this statement as a separate type from assignments.

Fields§

§name: String

Name of the variable to be defined. Type annotations are not allowed, hence why this is not a VarRef.

§name_pos: LineCol

Position of the name.

§shared: bool

Whether the variable is global or not.

§vtype: ExprType

Type of the variable to be defined.

§vtype_pos: LineCol

Position of the type.

Trait Implementations§

Source§

impl Debug for DimSpan

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for DimSpan

Source§

fn eq(&self, other: &DimSpan) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for DimSpan

Source§

impl StructuralPartialEq for DimSpan

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.