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, ! — паника и «никогда»