この手順からわかるように、Rust2018は「Rust2015でも2018でもコンパイルが通る中間状態」が(基本的には)存在するように設計されています。モジュールに関しては、以下のような状態がそれにあたります。始まるパスは以下の2種類に分けます。なっているものは維持します。使われているパスについても、上記と同様の規則を適用して置き換えます。以下で述べる仕様の一部は、このような「Rust2015時点での互換性」や「移行状態が存在すること」を達成するために存在しています。名前解決とはここからはあらためて、用語の定義をおさらいします。