「Rust 1.30」リリース、手続き的マクロを導入
Mozilla傘下のThe Rust Core Teamは10月25日、プログラミング言語「Rust」の最新安定版となる「Rust 1.30.0」公開を発表した。手続き的マクロの導入などが特徴となる。
Rust 1.30は、9月に公開されたバージョン1.29に続く最新版。
バージョン1.15で導入したカスタム継承の機能を拡大し、2種類の手続き的マクロ(「attribute-like procedural macros」および「function-like procedural macros」)を定義できるようになった。Attribute-like macrosはカスタム継承と同じようなマクロだが、#[derive]属性のコードのみを生成するのではなく独自のカスタム属性を作成できる。Function-like macrosは、関数コールのようなマクロを定義できるという。
モジュラーシステムも改善した。useキーワードの仕様変更などによってより合理的になり、新たにRustを使う人もすぐに親しめるようになったという。
また、一部のシンタックスで、識別子にキーワードを利用できるようになった。現時点でのユースケースは少ないというが、次期Rust 2018でRust 2015で作成したクレートを使用したり、その逆で使用する場合に有用だという。
これまでモジュールで外部クレートを使う外部のクレートの利用が::接頭子を要求しなくなった。#[panic_handler]属性でRustランタイムにパニックを処理する関数を特定できるようになった。
Cargoも強化し、ビルド向けのプログレスバーを導入するなどの機能が加わった。このほかにもAPI、コンパイラ、ライブラリで細かな強化が図られている。