diff options
| author | roife <roifewu@gmail.com> | 2024-06-06 14:57:57 +0800 |
|---|---|---|
| committer | roife <roifewu@gmail.com> | 2024-06-06 16:55:09 +0800 |
| commit | 6561b71eed0bd25d380c1324640e953d7bfd72ec (patch) | |
| tree | f81fe5a8e9043c4fcb4ffdcb0a4100afa9a71717 | |
| parent | 845754af9c85b51c42686078d55485cad3c3eab1 (diff) | |
| download | rust-6561b71eed0bd25d380c1324640e953d7bfd72ec.tar.gz rust-6561b71eed0bd25d380c1324640e953d7bfd72ec.zip | |
fix: do not resolve prelude within block modules
| -rw-r--r-- | src/tools/rust-analyzer/crates/hir-def/src/nameres/path_resolution.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/tools/rust-analyzer/crates/hir-def/src/nameres/path_resolution.rs b/src/tools/rust-analyzer/crates/hir-def/src/nameres/path_resolution.rs index 863ccec8852..e797d19223e 100644 --- a/src/tools/rust-analyzer/crates/hir-def/src/nameres/path_resolution.rs +++ b/src/tools/rust-analyzer/crates/hir-def/src/nameres/path_resolution.rs @@ -493,7 +493,12 @@ impl DefMap { ) }) }; - let prelude = || self.resolve_in_prelude(db, name); + let prelude = || { + if self.block.is_some() && module == DefMap::ROOT { + return PerNs::none(); + } + self.resolve_in_prelude(db, name) + }; from_legacy_macro .or(from_scope_or_builtin) |
