From 7cc40d5621a952298886d57b0399b74cf677f223 Mon Sep 17 00:00:00 2001 From: Alexey Preobrazhenskiy Date: Sun, 24 Mar 2024 13:02:30 +0100 Subject: [PATCH] Refactor `package_roots` for readability. (#10543) --- crates/ruff_workspace/src/resolver.rs | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/crates/ruff_workspace/src/resolver.rs b/crates/ruff_workspace/src/resolver.rs index 3db1f65f95..41c6001065 100644 --- a/crates/ruff_workspace/src/resolver.rs +++ b/crates/ruff_workspace/src/resolver.rs @@ -180,21 +180,14 @@ impl<'a> Resolver<'a> { let mut package_roots: FxHashMap<&Path, Option<&Path>> = FxHashMap::default(); for file in files { if let Some(package) = file.parent() { - match package_roots.entry(package) { - std::collections::hash_map::Entry::Occupied(_) => continue, - std::collections::hash_map::Entry::Vacant(entry) => { - let namespace_packages = if has_namespace_packages { - self.resolve(file).linter.namespace_packages.as_slice() - } else { - &[] - }; - entry.insert(detect_package_root_with_cache( - package, - namespace_packages, - &mut package_cache, - )); - } - } + package_roots.entry(package).or_insert_with(|| { + let namespace_packages = if has_namespace_packages { + self.resolve(file).linter.namespace_packages.as_slice() + } else { + &[] + }; + detect_package_root_with_cache(package, namespace_packages, &mut package_cache) + }); } }