diff --git a/crates/uv-pep440/src/version_specifier.rs b/crates/uv-pep440/src/version_specifier.rs index 2a9440254..9ab5b41b1 100644 --- a/crates/uv-pep440/src/version_specifier.rs +++ b/crates/uv-pep440/src/version_specifier.rs @@ -51,7 +51,7 @@ impl VersionSpecifiers { self.iter().all(|specifier| specifier.contains(version)) } - /// Returns `true` if the specifiers are empty is empty. + /// Returns `true` if there are no specifiers. pub fn is_empty(&self) -> bool { self.0.is_empty() } diff --git a/docs/reference/resolver-internals.md b/docs/reference/resolver-internals.md index a0b83c445..5381ac048 100644 --- a/docs/reference/resolver-internals.md +++ b/docs/reference/resolver-internals.md @@ -14,9 +14,9 @@ in the worst case you have to try all possible combinations of all versions of a there are no general, fast algorithms. In practice, this is misleading for a number of reasons: - The slowest part of resolution in uv is loading package and version metadata, even if it's cached. -- There are many possible solutions, but some are preferable than others. For example we generally +- There are many possible solutions, but some are preferable to others. For example, we generally prefer using the latest version of packages. -- Package's dependencies are complex, e.g., there are contiguous versions ranges — not arbitrary +- Package dependencies are complex, e.g., there are contiguous versions ranges — not arbitrary boolean inclusion/exclusions of versions, adjacent releases often have the same or similar requirements, etc. - For most resolutions, the resolver doesn't need to backtrack, picking versions iteratively is