pub enum GaiaType {
Show 25 variants
Bool,
I8,
U8,
I16,
U16,
I32,
U32,
I64,
U64,
F16,
F32,
F64,
Pointer(Box<GaiaType>, AddressSpace),
Array(Box<GaiaType>, usize),
Vector(Box<GaiaType>, usize),
Struct(String),
String,
Object,
Class(String),
Interface(String),
Any,
Tensor(Box<GaiaType>, Vec<isize>),
Void,
Opaque(String),
FunctionPtr(Box<GaiaSignature>),
}Expand description
Gaia Type System
Variants§
Bool
1-bit boolean type.
I8
8-bit signed integer.
U8
8-bit unsigned integer.
I16
16-bit signed integer.
U16
16-bit unsigned integer.
I32
32-bit signed integer.
U32
32-bit unsigned integer.
I64
64-bit signed integer.
U64
64-bit unsigned integer.
F16
16-bit half-precision floating point.
F32
32-bit single-precision floating point.
F64
64-bit double-precision floating point.
Pointer(Box<GaiaType>, AddressSpace)
Pointer type (pointee type, address space).
Array(Box<GaiaType>, usize)
Array type (element type, length).
Vector(Box<GaiaType>, usize)
Vector type (element type, count).
Struct(String)
Struct type (name/ID).
String
String type (managed or raw).
Object
Dynamic object type (e.g., Python/JS).
Class(String)
Managed class (e.g., JVM/CLR).
Interface(String)
Interface or Trait.
Any
Dynamic or arbitrary type (Variant).
Tensor(Box<GaiaType>, Vec<isize>)
Tensor type (element type, shape). Shape uses -1 for dynamic dimensions.
Void
Void type.
Opaque(String)
Opaque type for external references.
FunctionPtr(Box<GaiaSignature>)
Function pointer.