「Rust 1.25」リリース、LLVM 6を採用

 Mozillaは3月25日、プログラミング言語Rustの最新版「Rust 1.25.0」を公開した。バックエンドのLLVMがバージョン4から6となるなどの変更が加わっている。

 Rust 1.25は、2月に公開したRust 1.24に続く最新版。ベースとするコンパイラスタックをLLVM 4.0からLLVM 6.0にアップグレードした。これにより、AVRサポートに向けて一歩近付いたとしている。

 言語面での変更としては、useステートメントで入れ子状の宣言ができるようになった。これによって、複数のコンポーネントを利用する際により明瞭な記述が行える。また、#[repr(align(x))] 属性がが安定扱いとなった。structのデータ構造アライメントを設定できるという。

 ライブラリでは、*mut Tに似ているがnon-nullで共変性があるというstd::ptr::NonNull<T>が加わった。libstdにあったDutarionをlibcoreに移行、Durationに関連したfrom_secsとfrom_millisもconst fnに加わり、Durationを定数式として利用できるようになった。このほか、CloudABI向けlibstdの実装などの変更も加わった。

 ビルドシステムのCargoではコマンドラインインターフェイス(CLI)を強化し、バイナリの生成ではライブラリではなくcargo newがデフォルトとなった。

 ドキュメンテーションも強化し、導入の「Rust By Example」を導入した。

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