Hacker News Digest

08 сентября 2025 г. в 12:21 • rustcurious.com • ⭐ 214 • 💬 36

OriginalHN

#rust#type-system#data-types#references#pointers#async#unsafe#lifetimes

A clickable visual guide to the Rust type system

Скалярные типы

  • u8u128, i8i128 — целые фикс. размера
  • 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, ! — паника и «никогда»