by shigemk2

当面は技術的なことしか書かない

Rust 1.69.0

  • 言語

    • パックされた構造体で組み込みトレイトを導出する際、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に更新

github.com