3.1 Примитивы
| Тип | Размер | Примечание |
|---|---|---|
i8 i16 i32 i64 i128 | 1–16 байт | дополнительный код |
u8 u16 u32 u64 u128 | 1–16 байт | |
isize usize | размер указателя | индексы и длины — usize |
f32 f64 | 4, 8 байт | IEEE 754 |
bool | 1 байт | |
char | 4 байта | Unicode scalar value |
() | 0 | unit, единственное значение () |
never | 0 | тип выражений, которые не возвращают управление: fail, return, panic, бесконечный loop |
Целочисленная арифметика. + - * проверяют переполнение во всех профилях сборки; переполнение — паника. Явные варианты: +% -% *% — с переносом, +| -| *| — с насыщением, методы checked_add и т. п. возвращают T?. Деление на ноль и сдвиг на ширину типа и больше — паника.
Приведение. x as T для чисел: расширение всегда успешно; сужение и преобразование знака при выходе за диапазон — паника; f → int паникует на NaN и вне диапазона. x.wrap<T>() — с переносом, x.try<T>() — T | OutOfRange.
См. также
Исходник: docs/spec/oxl-standard.md