Primitive Data Types

A consolidated summary of every built-in primitive type in Rux, grouped by family. These names are predefined identifiers — some are compiler-provided aliases — not keywords; they live in the type namespace. Each entry links to its full page.

In the Status column, ✓ marks types available in the current release; Planned marks types that are specified but not yet implemented.

Signed Integers

TypeSizeRangeSuffixStatus
int4 or 8 bytestarget-dependent (int32 / int64)i
int81 byte−128 … 127i8
int162 bytes−32,768 … 32,767i16
int324 bytes−2,147,483,648 … 2,147,483,647i32
int648 bytes±9.22 × 1018i64
int12816 bytes±1.70 × 1038i128Planned
int25632 bytes±5.79 × 1076i256Planned
int51264 bytes±6.70 × 10153i512Planned

Unsigned Integers

TypeSizeRangeSuffixStatus
uint4 or 8 bytestarget-dependent (uint32 / uint64)u
uint81 byte0 … 255u8
uint162 bytes0 … 65,535u16
uint324 bytes0 … 4,294,967,295u32
uint648 bytes0 … 1.84 × 1019u64
uint12816 bytes0 … 3.40 × 1038u128Planned
uint25632 bytes0 … 1.16 × 1077u256Planned
uint51264 bytes0 … 1.34 × 10154u512Planned

Floating-Point

TypeSizeFormatApprox. magnitudeSuffixStatus
float8 bytesalias of float64±1.8 × 10308
float81 byteE4M3±4.5 × 102f8Planned
float162 bytesIEEE 754 binary16±6.5 × 104f16Planned
float324 bytesIEEE 754 binary32±3.4 × 1038f32
float648 bytesIEEE 754 binary64±1.8 × 10308f64
float8010 bytesx87 extended±1.2 × 104932f80Planned
float12816 bytesIEEE 754 binary128±1.2 × 104932f128Planned
float25632 bytesRux extension±1.6 × 1078913f256Planned
float51264 bytesRux extension±2.0 × 101262611f512Planned

Boolean

TypeSizeValuesStatus
bool1 bytealias of bool8
bool81 bytefalse / true
bool162 bytesfalse / true
bool324 bytesfalse / true
bool648 bytesfalse / truePlanned
bool12816 bytesfalse / truePlanned
bool25632 bytesfalse / truePlanned
bool51264 bytesfalse / truePlanned

Character

TypeSizeRange / CoverageStatus
char4 bytesalias of char32
char81 byteU+0000 – U+00FF (ASCII / Latin-1)
char162 bytesU+0000 – U+FFFF (BMP)
char324 bytesU+0000 – U+10FFFF (all Unicode)
char648 bytes0 – 264−1 (no Unicode)Planned
char12816 bytes0 – 2128−1 (no Unicode)Planned
char25632 bytes0 – 2256−1 (no Unicode)Planned
char51264 bytes0 – 2512−1 (no Unicode)Planned

Defaults and Aliases

  • An unsuffixed integer literal is inferred as int; an unsuffixed floating-point literal is inferred as float64.
  • int and uint track the target's pointer width — int32/uint32 on 32-bit targets, int64/uint64 on 64-bit targets.
  • floatfloat64, boolbool8, and charchar32 are compiler-provided aliases (see Built-in Aliases).
  • byte is a compiler-provided alias for uint8 — a clearer spelling for raw 8-bit byte values.
  • Rux performs no implicit numeric conversions; every cross-type conversion uses the as operator.