Расширенные возможности

К настоящему времени вы изучили наиболее часто используемые части языка программирования Rust. Прежде чем мы сделаем ещё один проект в главе 20, мы рассмотрим несколько аспектов языка с которыми вы можете сталкиваться время от времени. Можете использовать эту главу в качестве справки, когда столкнётесь с неизвестными возможностями Rust. Возможности, которые вы научитесь использовать в этой главе, полезны в специальных ситуациях. Хотя возможно вы не часто их встретите, мы хотим быть уверены, что у вас есть понимание всех возможностей, которые может предложить Rust.

В этой главе мы рассмотрим:

  • Небезопасный Rust: как отказаться от некоторых гарантий Rust и взять на себя ответственность за их ручное соблюдение
  • Продвинутые типажи: ассоциированные типы, параметры типа по умолчанию, полностью квалифицированный синтаксис, супер-типажи и шаблон создания (newtype) по отношению к типажам
  • Расширенные типы: больше о шаблоне newtype, псевдонимах типа, тип never и типы динамических размеров
  • Расширенные функции и замыкания: указатели функций и возврат замыканий
  • Макросы: способы определения кода, который определяет большую часть кода во время компиляции

Это набор возможностей Rust для всех! Давайте погрузимся в него!