第5章 Rust 1.66.1 Toolset の変更点
Rust ツールセットが、RHEL 7 および RHEL 8、RHEL 9 のバージョン 1.62.1 から 1.66.1 に更新されました。
主な変更点は、以下のとおりです。
-
thread::scopeAPI は、新しく生成されたスレッドによってローカル変数を安全に借用できる字句スコープを作成します。また、それらのスレッドはスコープが終了する前にすべて終了することが保証されます。 -
hint::black_boxAPI はコンパイラーの最適化に障壁を追加します。これは、他の方法では最適化されてしまう可能性のあるベンチマークの動作を維持するのに役立ちます。 -
.awaitキーワードは、forとIntoIteratorの関係と同様に、IntoFuture特性を使用して変換を行うようになりました。 - ジェネリック関連型 (GAT) を使用すると、特性にジェネリックパラメーターを持つ型エイリアスを含めることができ、型と有効期間の両方にわたる新しい抽象化が可能になります。
-
新しい
let-elseステートメントでは、条件付きパターンマッチングでローカル変数をバインドし、パターンが一致しない場合に分岐elseブロックを実行できます。 -
ラベル付きブロックを使用すると、オプションで式の値を追加して、
breakステートメントはブロックの末尾にジャンプできます。 -
rust-analyzerは言語サーバープロトコルの新しい実装であり、多くのエディターで Rust のサポートを可能にします。これは以前のrlsパッケージを置き換えますが、rust-analyzerに移行するにはエディターの設定を調整する必要がある場合があります。 -
Cargo には、
Cargo.tomlから依存関係を削除するための新しいcargo removeサブコマンドがあります。