第5章 Rust 1.62.1 Toolset の変更点
Rust Toolset が、RHEL 7 および RHEL 8、RHEL 9 のバージョン 1.58.0 から 1.62.1 に更新されました。
主な変更点は、以下のとおりです。
-
分割代入では、代入の左側にある既存の変数にパターンを代入できます。たとえば、タプル代入は変数にスワップできます:
(a、b) = (b、a); -
core::arch::asmマクロを使用して、インラインアセンブリーが 64 ビット x86 および 64 ビット ARM でサポートされるようになりました。詳細は、The Rust Reference の Inline assembly の章を参照してください。 -
列挙は、明示的にアノテーションが付けられた
#[default]バリアントを使用してDefaultトレイトを派生できるようになりました。 -
Mutex、CondVar、およびRwLockは、pthreads ではなくカスタムfutexベースの実装を使用するようになり、Rust 言語保証によって新たな最適化が可能になりました。 -
Rust は、新しく安定化された
Terminationトレイトを実装するユーザー定義型を含む、mainからのカスタム終了コードをサポートするようになりました。 - Cargo は、依存関係機能のより詳細な制御をサポートしています。dep: プレフィックスは、それを機能として公開することなく、オプションの依存関係を参照できます。また、"? は、"package-name?/feature-name" のように、その依存関係が他の場所で有効になっている場合にのみ、依存関係の機能を有効にします。
-
Cargo には、依存関係を
Cargo.tomlに追加するための新しいcargo addサブコマンドがあります。