高度な機能
ここまでで、Rustプログラミング言語の最も一般的に使われる部分を学んできました。第21章でもう1つのプロジェクトに取り組む前に、たまに遭遇するかもしれないものの、日常的には使わないかもしれない言語のいくつかの側面を見ていきましょう。何かわからないものに出会ったときには、この章をリファレンスとして使えます。ここで扱う機能は、非常に特定の状況で役立ちます。頻繁に使うことはないかもしれませんが、Rustが提供するすべての機能をきちんと把握できるようにしておきたいと考えています。
この章では、次の内容を扱います。
- Unsafe Rust: Rustの保証の一部を無効にする方法と、それらの保証を手作業で維持する責任を引き受けること
- 高度なトレイト: 関連型、デフォルトの型パラメータ、完全修飾構文、スーパートレイト、およびトレイトに関連する newtype パターン
- 高度な型: newtype パターン、型エイリアス、never 型、動的サイズ付き型についてさらに詳しく
- 高度な関数とクロージャ: 関数ポインタとクロージャを返すこと
- マクロ: コンパイル時に、さらに多くのコードを定義するコードを定義する方法
まさに、誰にとっても何かしらある Rust 機能の大集合です! さっそく見ていきましょう!