Rustコアチームは先日，Rust言語の今後１年間のあるべき場所の定義を目的としたロードマップ案を決定した。Rustユーザを対象として2016年に実施した調査の結果を一部取り入れるとともに，速度と信頼性を犠牲にすることなく，Rustの生産性を向上することを最優先課題としている。

具体的に2016年の調査で明らかになったのは，学習曲線，ライブラリやIDEの欠如，言語としての“成熟度”に対する懸念，コンパイラのパフォーマンスといった，Rustを採用する上での障害の存在だ。提案された2017年のロードマップではこれらすべてに対して，改善のための詳細なアプローチが提示されている。

学習曲線

Rustの学習曲線については2016年調査の回答者の４分の１が言及しており，所有権の概念に基づいたメモリ管理モデルとして，Rustがいまだメインストリームになり得ない理由の一部となっている。Rustチームが実施を計画している戦略は，ドキュメント，言語のエラー処理と機能，ツーリングの改善だ。

ツーリング

ツーリングに関してRustチームが考えているのは，エディット-コンパイル-デバッグサイクルとIDEの改善だ。エディット-コンパイル-デバッグサイクルについては，すでにいくつかの作業が行なわれている。具体的には，シンタックスシュガー解析へのMIR(Mid-level IR)の導入，型チェックと変換に関する表現の簡易化，アルファリリースに到達したばかりのインクリメンタルコンパイルなどだ。さらにチームは，“実行速度の遅過ぎる”デバッグビルドと“ビルド速度の遅過ぎる”リリースビルドという，現在のバランスの改善にも取り組んでいる。

Rustのエコシステム

生産性向上に向けたもうひとつの重点が，Rustのライブラリエコシステムの充実だ。これには２つの面がある — ひとつは，品質メトリクスを示すバッチや継続的インテグレーションのサポート，選択したクレートのAPIレビューの実施など，高品質なクレート(crate)を見つける手段の提供であり，もうひとつは，サーバ用のクレートやコンカレント/非同期/並列処理の開発といった重要なタスクに対して，1.0レベルのクレートを提供できるように，Rustのエコシステムが成長することの必要性の認識である。

相互運用性

実運用でRustを使用する場合，既存のビルドシステムへの統合や，C++コードとの相互運用が求められることが少なくない。この２つの要求に対してRustチームが目指すのは，既存の開発構造に対してRustを容易に統合可能にすることだ。特にC++ライブラリを使用する場合に，C++で使用する場合よりも極端に困難であってはならない。

ここにあげたのは，2017年に向けて提案されているRustのロードマップの概要である。ロードマップの詳細，欠点や代替案などに関する議論，未解決の問題についてはRFCを参照してほしい。