File tree Expand file tree Collapse file tree 1 file changed +4
-2
lines changed Expand file tree Collapse file tree 1 file changed +4
-2
lines changed Original file line number Diff line number Diff line change @@ -19,8 +19,8 @@ namespaces and therefore can co-exist.
19
19
20
20
The name resolution in Rust is a two-phase process. In the first phase, which runs
21
21
during macro expansion, we build a tree of modules and resolve imports. Macro
22
- expansion and name resolution communicate with each other via the ` Resolver `
23
- trait, defined in ` librustc_ast ` .
22
+ expansion and name resolution communicate with each other via the
23
+ [ ` Resolver ` ] trait .
24
24
25
25
The input to the second phase is the syntax tree, produced by parsing input
26
26
files and expanding macros. This phase produces links from all the names in the
@@ -35,6 +35,8 @@ of an index the rest of the compilation may use to ask about the present names
35
35
The name resolution lives in the ` librustc_resolve ` crate, with the meat in
36
36
` lib.rs ` and some helpers or symbol-type specific logic in the other modules.
37
37
38
+ [ `Resolver` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_ast_lowering/trait.Resolver.html
39
+
38
40
## Namespaces
39
41
40
42
Different kind of symbols live in different namespaces ‒ e.g. types don't
You can’t perform that action at this time.
0 commit comments