「Rust 1.33」が公開、const fnの改善やpinnningの導入が行われる
Mozillaのプログラミング言語「Rust」の開発チームは2月28日、最新安定版となる「Rust 1.33.0」を公開した。
Rust 1.33は、1月公開の「Rust 1.32」に続く最新版。「const fn」の改善や「Pinning」コンセプトの安定化が最大の特徴となる。
「const fn」では、letバインディングと変更可能なletバインディング、代入演算子表現などを利用できるようになった。const fn内でconst unsafe fnを呼び出すこともできる。
Pinningという新コンセプトを導入、std::pin::Pin<P>型とUnpinマーカートレイトと2種類で実装した。Pinningはメモリ上でのオブジェクトの位置が移動しないことを保証するもので、自己参照的構造体の構築などに適しているという。
このほか、import時に「as _」と指定することで、名前空間に名前をインポートせずにトレイト実装をインポートできるようになった。
コンパイラでは、LLVMの最小要件がバージョン6以上となり、FreeBSD/PowerPC64のサポートが加わった。APIも多数安定扱いとなっている。Cargoでは、初期構築時にファイルに変更があった場合にクレートを再構築するようになった。
RustはプロジェクトのWebサイトより入手できる。