「Edition」は、安定性と後方互換性に関する問題を解決するために導入させる仕組みで、後方互換性がない機能をリリースしたい場合は、新たな「Edition」の一部としてリリースされる。 「Edition」はオプトインであり、既存のクレートは新しい「Edition」へ移行するまで変更を確認できないため、2018年以降の「Edition」を選択しない限り、最新バージョンのRustでもasyncはキーワードとして扱われない。選択はCargo.tomlの一部としてクレートごとに行われ、cargo newによって作成された新たなクレートは、常に最新の安定版に組み込まれる。 「Edition」においてもっとも重要なルールは、ある「Edition」のクレートが他の「Edition」でコンパイルされたクレートとシームレスに相互運用できることで、新たな「Edition」への移行の決定が、他の人に影響を与える
![プログラミング言語Rust、安定性と後方互換性に関する問題を解決する「Edition」を導入](https://cdn-ak-scissors.b.st-hatena.com/image/square/94f8b97610e4c8744d7e110e509830d698f9ed88/height=288;version=1;width=512/https%3A%2F%2Fcodezine.jp%2Fstatic%2Fimages%2Farticle%2F14131%2F13529_og.jpg)