From 350dcb807ac3e1f58b895149a7f8e4c680ffaa5a Mon Sep 17 00:00:00 2001 From: Charlie Marsh Date: Thu, 11 Jan 2024 19:18:49 -0500 Subject: [PATCH] Include base pyproject when initializing cache settings (#9480) ## Summary Regression from https://github.com/astral-sh/ruff/pull/9453/files#diff-80a9c2637c432502a7075c792cc60db92282dd786999a78bfa9bb6f025afab35L482. Closes https://github.com/astral-sh/ruff/issues/9478. ## Test Plan ``` rm -rf .ruff_cache cargo run -p ruff_cli -- check ../foo.py ``` Failed prior to this PR; passes afterwards. The file must be outside of the current working directory, and must not have a `pyproject.toml` in any parent directory. --- crates/ruff_workspace/src/resolver.rs | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/crates/ruff_workspace/src/resolver.rs b/crates/ruff_workspace/src/resolver.rs index 590eb3e2d7f83..d9bd592059672 100644 --- a/crates/ruff_workspace/src/resolver.rs +++ b/crates/ruff_workspace/src/resolver.rs @@ -11,7 +11,7 @@ use anyhow::Result; use anyhow::{anyhow, bail}; use globset::{Candidate, GlobSet}; use ignore::{WalkBuilder, WalkState}; -use itertools::{Either, Itertools}; +use itertools::Itertools; use log::debug; use path_absolutize::path_dedot; use rustc_hash::{FxHashMap, FxHashSet}; @@ -204,12 +204,7 @@ impl<'a> Resolver<'a> { /// Return an iterator over the resolved [`Settings`] in this [`Resolver`]. pub fn settings(&self) -> impl Iterator { - match self.pyproject_config.strategy { - PyprojectDiscoveryStrategy::Fixed => { - Either::Left(std::iter::once(&self.pyproject_config.settings)) - } - PyprojectDiscoveryStrategy::Hierarchical => Either::Right(self.settings.values()), - } + std::iter::once(&self.pyproject_config.settings).chain(self.settings.values()) } }