A clickable visual guide to the Rust type system
Скалярные типы
u8
…u128
, i8
…i128
— целые фикс. размера
usize/isize
— целые под указатель
f32/f64
— вещественные
bool
, char
— логика и UTF-4
Составные
(T, U)
— кортеж
struct
— имен. поля
enum
— варианты
union
— перекрытие
[T; N]
— массив фикс. длины
()
— юнит
Безразмерные
[T]
, str
, dyn Trait
— сами не компилятся, живут за ссылкой
&[T]
, &mut [T]
, &str
, &mut str
, &dyn Trait
, &mut dyn Trait
— срезы и трейт-объекты
Ссылки
&T
, &mut T
— заимствование
Диапазоны
a..b
, ..b
, a..
, a..=b
, ..=b
, ..
— полу- и замкнутые
Утилиты
Option<T>
, Result<T, E>
, Ordering
, Arguments
— стандартные обёртки
Асинхронность
Poll<T>
, Context
, Pin<P>
— фундамент async
Анонимки
fn()
, |x|
, async fn
, async ||
, impl Trait
— функции, замыкания, existential
unsafe
UnsafeCell<T>
, ManuallyDrop<T>
, PhantomData<T>
— сырые/мета-инструменты
Указатели
*const T
, *mut T
, fn(T)->U
— сырые и функц. указатели
Прочее
PanicInfo
, Location
, !
— паника и «никогда»