uv/crates/uv-resolver/src
Charlie Marsh 7bac708b97
Treat resolver failures as fatal in lockfile validation (#8083)
## Summary

In the routine we use to verify whether the lockfile is up-to-date, we
sometimes have to resolve package metadata. If that resolution step
fails, the resolver is left in a bad state, as various tasks are marked
as pending despite the error. Treating that as a recoverable failure
thus leads to a deadlock.

This PR modifies the errors to be treated as fatal.

I think a more holistic fix here would be to add some kind of guard to
ensure that any tasks that fail are no longer marked as pending (or
enforce this in the type system).

Closes https://github.com/astral-sh/uv/issues/8074.
2024-10-10 14:01:20 +00:00
..
lock Treat resolver failures as fatal in lockfile validation (#8083) 2024-10-10 14:01:20 +00:00
pubgrub Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
resolution Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
resolver Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
bare.rs Add support for parsing unnamed URL requirements (#2567) 2024-03-21 03:28:58 +00:00
candidate_selector.rs Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
dependency_mode.rs Store resolution options in lockfile (#5264) 2024-07-22 08:28:22 -04:00
dependency_provider.rs Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
error.rs Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
exclude_newer.rs switch to jiff from chrono (#6205) 2024-08-20 11:31:46 -05:00
exclusions.rs Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
flat_index.rs Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
fork_urls.rs Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
graph_ops.rs Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
lib.rs expose `FlatDistributions` struct in public API (#7833) 2024-10-01 07:46:32 -05:00
manifest.rs Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
marker.rs Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
options.rs Use "pre-release" in prose and `Prerelease` in code (#5697) 2024-08-01 20:56:29 +00:00
pins.rs Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
preferences.rs Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
prerelease.rs Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
python_requirement.rs Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
redirect.rs Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
requires_python.rs Add gap-preserving range-to-PEP 440 routine (#8060) 2024-10-09 22:48:53 +00:00
resolution_mode.rs Use separate types to represent raw vs. resolver markers (#6646) 2024-08-26 18:00:21 +00:00
version_map.rs Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
yanks.rs Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00