diff options
| author | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2025-07-25 22:14:09 +0300 |
|---|---|---|
| committer | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2025-07-26 00:19:12 +0300 |
| commit | 2c657901605ed5e6e6d3ab52e824f35e25cf4516 (patch) | |
| tree | 21d3bbc28ff1f9890816e8ecd7dfa865ef6854cb /compiler/rustc_resolve/src/late/diagnostics.rs | |
| parent | a955f1cd09a027363729ceed919952d09f76f28e (diff) | |
| download | rust-2c657901605ed5e6e6d3ab52e824f35e25cf4516.tar.gz rust-2c657901605ed5e6e6d3ab52e824f35e25cf4516.zip | |
resolve: Minimize borrow scopes for `resolutions`
Diffstat (limited to 'compiler/rustc_resolve/src/late/diagnostics.rs')
| -rw-r--r-- | compiler/rustc_resolve/src/late/diagnostics.rs | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/compiler/rustc_resolve/src/late/diagnostics.rs b/compiler/rustc_resolve/src/late/diagnostics.rs index 69095942f52..203827a9e1a 100644 --- a/compiler/rustc_resolve/src/late/diagnostics.rs +++ b/compiler/rustc_resolve/src/late/diagnostics.rs @@ -1461,15 +1461,17 @@ impl<'ast, 'ra, 'tcx> LateResolutionVisitor<'_, 'ast, 'ra, 'tcx> { if let PathResult::Module(ModuleOrUniformRoot::Module(module)) = self.resolve_path(mod_path, None, None) { - let resolutions = self.r.resolutions(module).borrow(); - let targets: Vec<_> = resolutions + let targets: Vec<_> = self + .r + .resolutions(module) + .borrow() .iter() .filter_map(|(key, resolution)| { resolution .borrow() .best_binding() .map(|binding| binding.res()) - .and_then(|res| if filter_fn(res) { Some((key, res)) } else { None }) + .and_then(|res| if filter_fn(res) { Some((*key, res)) } else { None }) }) .collect(); if let [target] = targets.as_slice() { @@ -2300,8 +2302,9 @@ impl<'ast, 'ra, 'tcx> LateResolutionVisitor<'_, 'ast, 'ra, 'tcx> { return None; } - let resolutions = self.r.resolutions(*module); - let targets = resolutions + let targets = self + .r + .resolutions(*module) .borrow() .iter() .filter_map(|(key, res)| { |
