From ff764756e3bca2266ff00b157a7821058cde6764 Mon Sep 17 00:00:00 2001 From: Philipp Hansch Date: Tue, 25 Feb 2020 07:48:13 +0100 Subject: [PATCH] Don't reference librustc_resolve just yet. It's mentioned further down with more details. --- src/name-resolution.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/name-resolution.md b/src/name-resolution.md index 3507d4d8..50820d97 100644 --- a/src/name-resolution.md +++ b/src/name-resolution.md @@ -12,10 +12,10 @@ let x: x = 1; let y: x = 2; ``` -How do we know on line 3 whether `x` is a type (u32) or a value (1)? -These conflicts are resolved in `librustc_resolve`. -In this specific case, name resolution defines that type names and variable -names live in separate namespaces and therefore can co-exist. +How do we know on line 3 whether `x` is a type (u32) or a value (1)? These +conflicts are resolved during name resolution. In this specific case, name +resolution defines that type names and variable names live in separate +namespaces and therefore can co-exist. The name resolution in Rust is a two-phase process. In the first phase, which runs during macro expansion, we build a tree of modules and resolve imports. Macro