Розширені можливості
Тепер ви вже вивчили найуживаніші частини мови програмування Rust. Перш ніж ми зробимо ще один проєкт у розділі 21, ми розглянемо кілька аспектів мови, з якими ви можете час від часу стикатися, але не використовувати щодня. Ви можете використовувати цей розділ як довідник, коли натрапите на щось невідоме. Розглянуті тут можливості корисні в дуже специфічних ситуаціях. Хоча ви, можливо, не звертатиметесь до них часто, ми хочемо переконатися, що ви маєте уявлення про всі можливості, які пропонує Rust.
У цьому розділі ми розглянемо:
- Unsafe Rust: Як відмовитися від деяких гарантій Rust і взяти на себе відповідальність за їхнє ручне дотримання
- Розширені трейт (traits): асоційовані типи, типові параметри за замовчуванням, повний кваліфікований синтаксис, супертрейти та патерн newtype у зв’язку з трейтами
- Розширені типи: Більше про патерн newtype, псевдоніми типів, ніколи тип та динамічно розмірні типи
- Розширені функції та замикання: Вказівники на функції та повернення замикань
- Макроси: Способи визначати код, який визначає більше коду під час компіляції
Це паноплія можливостей Rust, у якій знайдеться дещо для кожного! Давайте зануримося!