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