「Rust 1.46」が公開

 Mozillaが開発するプログラミング言語「Rust」開発チームは8月27日、最新版となる「Rust 1.46」を公開した。const fnの強化などが特徴となる。

 Rust 1.46は、7月中旬に公開したバージョン1.45に続く最新版。

 定数を返す関数で、フリーの関数をマークしてconstとしてメソッドを継承するconst fnを強化し、if、if let、match、loopなどを使えるようになった。また、配列をスライス(&[T])に強制したりキャストできるようになった。これまでもconst fn外で使えたが、コンパイル時の処理能力を要求するため負荷がかかっていたが、これを削減できるという。また、std::mem::forgetもconst fnとなり、Option::zipとvec::Drain::as_sliceの2つのAPIが新たに安定扱いとなった。

 バージョン1.42でunwrapと関連した関数がパニック時に出すメッセージを改善したが、本バージョンでは実装方法が安定扱いとなった。2017年にRFC 2091で提案されていた#[track_caller]属性を使うもので、Location::callerにより関数を呼び出した位置がわかるようになった。

 この他、ライブラリでmem::forgetが定数関数となるなど、多数の機能強化が加わった。パッケージ管理のCargoも強化し、クレートコンパイル時に使用できる環境変数が加わった。

 Rust 1.46はプロジェクトのWebサイトより入手できる。

Rust
https://www.rust-lang.org