「Rust 1.45」が公開、手続型マクロ強化により安定版でRocket対応へ

 Mozillaのプログラミング言語「Rust」開発チームは7月16日、最新版となる「Rust 1.45.0」公開を発表した。長期にわたって存在していたバグが修正されるなどの強化が加わった。

 Rust 1.45は6月に公開されたバージョン1.44に続く最新版。大きく2つの点が特徴となる。

 1つ目として、整数型より大きな浮動少数点をキャストすると未定義の動作になるという不具合を修正した。長期に渡って存在していた不具合で、2013年10月にイシューが作成されていた。

 2つ目は、1.30で安定扱いとなった「関数のような手続的マクロ(function-like procedural macros)」を拡大した。これまではアイテムポジションとして、一定の場所でgobject_gen!の呼び出しのみが可能だったが、式、パターン、宣言文でも呼び出しができるようになった。これにより、これまでNightlyのみの機能に依存していたRust向けWebフレームワークのRocketが安定版でも使えるようになった。

 このほか、Arc::as_ptr、BTreeMap::remove_entryなど多数のAPIが安定扱いとなった。また、charをレンジで使えるようになった。

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

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