From ced2a9c24471dc0f71a13abc53205751af6fc03d Mon Sep 17 00:00:00 2001 From: Tshepang Lekhonkhobe Date: Wed, 1 Apr 2020 11:04:45 +0200 Subject: [PATCH] Resolver trait moved (#652) --- src/name-resolution.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/name-resolution.md b/src/name-resolution.md index 431a8f1d..f3aacba0 100644 --- a/src/name-resolution.md +++ b/src/name-resolution.md @@ -19,8 +19,8 @@ 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 -expansion and name resolution communicate with each other via the `Resolver` -trait, defined in `librustc_ast`. +expansion and name resolution communicate with each other via the +[`Resolver`] trait. The input to the second phase is the syntax tree, produced by parsing input files and expanding macros. This phase produces links from all the names in the @@ -36,6 +36,7 @@ The name resolution lives in the `librustc_resolve` crate, with the meat in `lib.rs` and some helpers or symbol-type specific logic in the other modules. [`Resolver::resolve_crate`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_resolve/struct.Resolver.html#method.resolve_crate +[`Resolver`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_ast_lowering/trait.Resolver.html ## Namespaces