「Rust 1.34」リリース
Mozillaのプログラミング言語Rust開発チームは4月11日、最新版となる「Rust 1.34.0」の公開を発表した。代替cargoレジストリの導入などの機能が加わっている。
Rust 1.34は、2月末に公開したバージョン1.33に続く最新版。プロジェクトの単位となる「クレート」では公開クレートレジストリ(crates.io)がすでに存在するが、これ以外のcargoレジストリもサポートされた。crates.ioにクレートを公開したくない場合、これまではgitやpath依存性を利用するしかなかった。本バージョンでは任意の独自レジストリを使用できるようになる。
fn main()、#[test]関数、doctests(ドキュメンテーションテスト)で?演算子を利用できるようになった。マニュアルにfn main() -> Result<(), _> {}を加えることなく、エラー値とともにOption<T>またはResult<T, E>を戻すという。
1.30で導入した手続き的マクロでは属性を定義できるが、最新版ではカスタム属性で任意のトークンのストリームを受け付けるようになった。
このほか、TryFromとTryIntoの両トレイトが安定扱いとなったり、unsafe fn pre_execを優先させてfn before_execが非推奨となるなど、多数の強化が加わった。コンパイラではpowerpc64-unknown-freebsdをターゲットにできるようになった。
Rust 1.34はプロジェクトのWebサイトより入手できる。