Расширенные возможности
К этому моменту вы уже освоили наиболее часто используемые части языка Rust. Перед тем как перейти к следующему проекту в главе 21, мы рассмотрим несколько аспектов языка, с которыми вы можете время от времени сталкиваться, но которые используются не каждый день. Эту главу можно использовать как справочник, когда вы встречаете незнакомые конструкции. Описываемые здесь возможности полезны в очень специфических ситуациях. Хотя вы можете обращаться к ним нечасто, мы хотим убедиться, что вы понимаете все возможности, которые предлагает Rust.
В этой главе мы рассмотрим:
- Небезопасный Rust: как отказаться от некоторых гарантий Rust и взять на себя ответственность за их ручное соблюдение
- Расширенные типажи: ассоциированные типы, параметры типов по умолчанию, полностью квалифицированный синтаксис, супертипажи и паттерн newtype в контексте типажей
- Расширенные типы: подробнее о паттерне newtype, псевдонимы типов, тип
neverи динамически sized типы - Расширенные функции и замыкания: указатели на функции и возврат замыканий
- Макросы: способы определения кода, который генерирует дополнительный код на этапе компиляции
Это набор возможностей Rust на любой вкус! Приступим!