「Rust 2021 Edition」が公開
プログラミング言語Rustの開発チームは10月21日、最新版となる「Rust 1.56.0」および「Rust 2021 Edition」を公開した。
Editionは、安定性を求めるユーザー向けのバージョン。オプトイン方式を取ることで後方互換性に伴うリスクを回避できる。クロージャでは、これまで自動的に参照していたものを全てキャプチャしていたが、使用するフィールドのみをキャプチャするなど、より細かくキャプチャできるようになった。
IntoIteratorは配列への参照のみが実装できるが、全てのエディションで配列がIntoIteratorを実装し、Rust 2015/2018ではIntoIterator::into_iterの呼び出しを隠すことでarray.into_iter()を継続して(&array).into_iter()として解決するようにした。マクロルールのパターンが変更となり、$_:patで|を利用できるようになった。パニックマクロの一貫性を強化し、panic!(..)が常にformat_args!(..)を使用するようになった。panic!(x)は、xが文字列リテラルではない場合は受理されなくなった。デフォルトのCargoのFeature resolverがバージョン2となった。
このほかにも、予約構文などで強化が加わっている。Rust 2021 Editionリリースに合わせて、マイグレーションガイドも公開している。