pub enum TypeExprKind<P: Phase = Raw> {
Dimensionless,
Bool,
Int,
Datetime,
DatetimeApplication {
type_args: Vec<TypeExpr<P>>,
},
DimExpr(DimExpr),
Indexed {
base: Box<TypeExpr<P>>,
indexes: Vec<IndexExpr>,
},
TypeApplication {
name: Spanned<NamePath>,
type_args: Vec<TypeExpr<P>>,
},
}Expand description
The kind of a type expression.
Variants§
Dimensionless
Dimensionless
Bool
Bool
Int
Int
Datetime
Datetime (bare, without time scale parameter — defaults to UTC)
DatetimeApplication
Datetime<TimeScale> — built-in datetime type parameterized by a time
scale. Kept separate from Self::TypeApplication so downstream
resolution dispatches on the variant rather than string-matching the
built-in name.
DimExpr(DimExpr)
A dimension expression like Length, Length^2, Mass * Length / Time^2
Indexed
An indexed type like Velocity[Maneuver], Dimensionless[3, 4], or D[M, N]
TypeApplication
A user-defined generic type application like Vec3<Length, ECI>.
Built-in parameterized types (currently only Datetime<...>) have their
own variants instead — see Self::DatetimeApplication.
Trait Implementations§
Source§impl<P: Clone + Phase> Clone for TypeExprKind<P>
impl<P: Clone + Phase> Clone for TypeExprKind<P>
Source§fn clone(&self) -> TypeExprKind<P>
fn clone(&self) -> TypeExprKind<P>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl FormatEquivalent for TypeExprKind
impl FormatEquivalent for TypeExprKind
Source§fn format_equivalent(&self, other: &Self) -> bool
fn format_equivalent(&self, other: &Self) -> bool
Returns
true if self and other are equivalent up to formatting.Source§impl From<TypeExprKind> for TypeExprKind<Desugared>
impl From<TypeExprKind> for TypeExprKind<Desugared>
Source§fn from(k: TypeExprKind<Raw>) -> Self
fn from(k: TypeExprKind<Raw>) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl<P> Freeze for TypeExprKind<P>
impl<P> RefUnwindSafe for TypeExprKind<P>
impl<P> Send for TypeExprKind<P>
impl<P> Sync for TypeExprKind<P>
impl<P> Unpin for TypeExprKind<P>
impl<P> UnsafeUnpin for TypeExprKind<P>
impl<P> UnwindSafe for TypeExprKind<P>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more