Rust開発チームは、プログラミング言語「Rust」の最新版「Rust 1.10」をリリースしたと発表しました。

RustはMozillaが中心となってオープンソースで開発されている言語です。C言語のように低レベルのシステム開発向けに作られた高速に実行できる言語ながら、不正なメモリ領域を指すポインターなどを許容しない安全なメモリ管理と、マルチスレッド実行においてデータ競合を排除した高い並列性を実現している点が特長です。

Rust 1.10はLinux、macOS、Windowsに対応。MozillaはRustを用いて次世代の高速なブラウザエンジンである「Servo」を開発していることがよく知られています。

Rust 1.10では要望の多かった機能の実装として、パニックを起こしたときにAbortで終了するバイナリを生成するコンパイルフラグの実現、性能改善、ドキュメントの充実などが行われています。

それ以外の大きな変化として、Rust 1.10からはRustによってRust自身を開発するようになったと、次のように説明されています。

Finally, there’s a large change to the way that we develop Rust that won’t impact Rust users directly, but will help those distributing Rust significantly. Rust is implemented in Rust, which means that to build a copy of Rust, you need a copy of Rust. 最後に、私たちがRustを開発する方法に大きな変化があった。これはRustユーザーに直接影響するものではないが、Rustを配布しようとするときには重要なこととなるだろう。RustはRustで実装されるようになった。つまり、RustをビルドするのにRustのコピーが必要、ということだ。

続く説明では、これまでもRustはRustでコンパイルされてきたけれども、コンパイラのいくつかの機能を利用するためにナイトリービルドなどの特定のRustのバージョンのスナップショットを用いていたとのこと。これが、Rust 1.10のビルドではビルド時の最新バージョンとなるRust 1.9を、Rust 1.11のビルドではそのときの最新バージョンとなるRust 1.10を用いるように、本バージョンからRustの正式版を用いてビルドすることになるとのことです。

なんとなくですが、これでRustも一人前のバージョンになったような気分にさせてくれる変更です。