言語
- パックされた構造体で組み込みトレイトを導出する際、Copyフィールドで機能する
- x86およびx86_64でのcmpxchg16bターゲット機能を安定化
- 関連型のトレイト境界の解析を改善
- 関連型をunionフィールドとして使用可能に
- dyn-safeトレイトメソッドでSelf: Autotrait境界を許可
- strを自動トレイト目的で[u8]を含むものとして扱う
コンパイラ
- CIの*-pc-windows-gnuをmingw-w64 v10およびGCC 12.2にアップグレード
- メンバー制約のmin_choiceアルゴリズムを再構築
- コンパイラ引数で真偽値フラグとしてtrueとfalseをサポート
- repr(C)列挙型をデフォルトでc_intサイズに
ライブラリ
- 不安定なDispatchFromDynをcellタイプに実装し、カスタムメソッドレシーバの実験を可能に
- fmt::Arguments::as_str()が最適化後により多くのケースでSome(_)を返すことをドキュメント化
- RcにAsFdおよびAsRawFdを実装
安定化されたAPI
- CStr::from_bytes_until_nul
- core::ffi::FromBytesUntilNulError
- 以下のAPIはconstコンテキストで安定化:
- SocketAddr::new など
Cargo
- コンパイル警告が自動修正可能な場合、cargo fixまたはcargo clippy --fixを提案
- ライブラリクレートをインストールしようとすると、cargo addを提案
- CARGO_BIN_NAME環境変数をバイナリ例でも設定
Rustdoc
- トレイト境界フォーマットを縦方向にコンパクトに
- rustdoc::allグループに安定したlintのみを含める
- クエリに基づいて最大レーベンシュタイン距離を計算
- 一貫性のないサイドバーのツールチップを削除
- クエリが!で終わる場合、マクロで検索
互換性に関する注意
- rust-analysisコンポーネントに関するいくつかの変更
- パックされたフィールドへの未整列参照は、厳密なエラーに
- 最小の外部LLVMを14に更新