Rust 1.91.0がリリース、build.build-dir安定化やC言語スタイル可変長引数関数のサポートなど多数の改善
ワンポイント"host-tuple"文字列が指定できるようになっています。Rustdocの検索機能も強化され、ドキュメントエイリアスの検索順位調整や、`*const u8`のような生ポインタを使った検索がサポートされました。
## 互換性に関する注意点
今回のリリースには開発者が意識すべき変更もいくつか含まれます。macOS環境では、cc経由のリンク時に常にSDKルートが渡されるようになり、Xcode内でのrustc実行時のリンク問題が解消される見込みです。一方で**/usr/local/lib内のライブラリが自動リンクされなくなる**ため、これに依存するクレートを開発・利用している場合はbuild.rsで明示的に`cargo::rustc-link-search=/usr/local/lib`を設定する必要があります。
また、属性の構文解析がより厳格になり、無効な`#[should_panic]`や`#[link]`属性がエラーとなるほか、Edition 2024では`if let`の条件式内で使われる`pin!`や`format_args!`などのマクロが生成する一時変数のスコープが制限されるようになりました。内部的には**LLVM 21へのアップデート**も行われています。
## まとめ
Rust 1.91.0は、C ABI周りの一貫性向上、Cargoのbuild-dir機能安定化、多数のAPI追加といった前向きな変化と同時に、lintの厳格化やmacOSのリンク挙動変更など互換性面での調整が混在するリリースです。特にmacOSでビルドしているプロジェクトや、マクロ・属性を多用するコードベースでは、アップデート前にコンパイルエラーやlint警告が新たに出ないか確認しておくとよいでしょう。
この記事は Rust の一次情報をもとにAIが再構成したものです。 原文を読む →
Rust公式が最新リリース1.91.0を公開しました。C言語スタイルの可変長引数関数の宣言が複数ABIで安定化されたほか、Cargoのbuild.build-dir設定が正式機能になり、AtomicPtrやDuration::from_hoursなど多数のAPIが安定化しています。一方でセミコロン関連lintの厳格化やmacOSのライブラリリンク挙動の変更など、注意すべき互換性の変更も含まれています。
全文を読むには有料プランへの登録が必要です。
プランを見る →