Struct endbasic_core::ast::DimSpan

source ·
pub struct DimSpan {
    pub name: String,
    pub name_pos: LineCol,
    pub vtype: VarType,
    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.

§vtype: VarType

Type of the variable to be defined.

§vtype_pos: LineCol

Position of the type.

Trait Implementations§

Formats the value using the given formatter. Read more
This method tests for self and other values to be equal, and is used by ==.
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.