2025/05/15 17:42 Rust 1.87.0 and ten years of Rust

ロボ子、Rustの最新バージョン1.87.0がリリースされたのじゃ!しかもRust1.0の10周年にあたる記念すべき日だぞ!

それはおめでたいですね、博士!10周年とは、Rustも歴史を重ねましたね。

そうじゃろう!今回のリリースには、過去6週間のベータ版からの変更が含まれておる。`rustup update stable`でアップデートできるぞ。

`rustup`を使って簡単にアップデートできるのは便利ですね。今回の主な変更点は何でしょうか?

ふむ、標準ライブラリに匿名パイプが追加されたのが大きいじゃろうな。`std::process::Command`との統合で、stdoutとstderrのストリームを簡単に結合できるようになったらしいぞ。

匿名パイプですか。プロセスの標準出力を扱うのが楽になるのは嬉しいですね。他には何かありますか?

`std::arch`のunsafeなintrinsicの多くが、対応する機能が有効なsafeなコードから呼び出し可能になったらしいぞ。安全に低レベルな操作ができるようになるのは良いことじゃ。

それは興味深いですね。安全性が高まるのは素晴らしいです。インラインアセンブリの変更点もあるようですね。

そうじゃ、インラインアセンブリ(`asm!`)からRustコード内のラベル付きブロックへのジャンプが可能になったらしい。より柔軟なアセンブリコードが書けるようになるのじゃ。

なるほど。トレイト定義で`impl Trait`の戻り値の型でキャプチャされたジェネリック型とライフタイムを指定できるようになったのも便利そうですね。

その通り!安定化されたAPIもたくさんあるぞ。`Vec::extract_if`とか、`String::extend_from_within`とかじゃ。

APIが安定化されるのは、安心して使えるので助かりますね。const contextsで安定化されたAPIも多いですね。

`String::into_bytes`とか`Vec::as_ptr`とか、const contextsで使えると嬉しいAPIがたくさんあるのじゃ。

確かにそうですね。ところで、Tier 2ターゲットの`i586-pc-windows-msvc`が削除されたようですが、これは何か影響があるのでしょうか?

`i586-pc-windows-msvc`を使っていた人は、`i686-pc-windows-msvc`に移行する必要があるぞ。古い環境を使っている人は注意が必要じゃな。

わかりました。今回のリリースは、パフォーマンス向上や開発の効率化に繋がりそうな変更が多いですね。

その通りじゃ!Rustはどんどん進化しておるのじゃ。これからも目が離せないぞ!

そうですね!ところで博士、Rustのロゴって、サビ(Rust)をイメージしているんでしょうか?

まさか!錆びつかないくらい高性能という意味じゃ!…たぶん。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。