こんにちは、R&Dチームの齋藤(@aznhe21)です。 さて、本日、日本時間12/20(金)、Rust 1.40がリリースされました。 この記事ではRust 1.40での変更点を詳しく紹介します。 なお、この記事は公式リリースノートをベースに、意訳・編集・追記をしています。 ピックアップ #[non_exhaustive]によりenumの前方互換性を担保出来るようになった Option::as_derefによりコンテナ型の逆参照が楽になった #[cfg(doctest)]属性でドキュメント化テストの実行時だけ有効なアイテムを書けるようになった 変更点リスト 言語 constの文脈でタプル構造体などのコンストラクタを使えるようになった 非網羅的マッチを強制出来るようになった マクロがより多くの場所で使えるようになった 手続きマクロがマクロを生成できるようになった macro_rules!で