mirror of
https://github.com/astral-sh/uv
synced 2026-06-21 13:47:25 +00:00
b4d32e4356
This makes it easier for us to add resolver scenarios by 1. Rewriting the scenario package generation in Rust 2. Serving scenario packages from memory in a wiremock index 3. Rewriting the scenario test case generation in Rust 4. Dropping all dependencies on packse / the packse index --------- Co-authored-by: Codex <noreply@openai.com>
39 lines
1.1 KiB
TOML
39 lines
1.1 KiB
TOML
name = "wrong-backtracking-basic"
|
|
description = """There are two packages, `a` and `b`. We select `a` with `a==2.0.0` first, and then `b`, but `a==2.0.0` conflicts with all new versions of `b`, so we backtrack through versions of `b`.
|
|
|
|
We need to detect this conflict and prioritize `b` over `a` instead of backtracking down to the too old version of `b==1.0.0` that doesn't depend on `a` anymore."""
|
|
|
|
[expected]
|
|
satisfiable = true
|
|
|
|
[resolver_options]
|
|
universal = true
|
|
|
|
[expected.packages]
|
|
a = "1.0.0"
|
|
b = "2.0.9"
|
|
|
|
[root]
|
|
requires = ["a", "b"]
|
|
|
|
[packages.a.versions]
|
|
"1.0.0" = {}
|
|
"2.0.0" = {}
|
|
|
|
[packages.too-old.versions]
|
|
"1.0.0" = {}
|
|
|
|
[packages.b.versions]
|
|
# We must not backtrack to this very old versions
|
|
"1.0.0" = { requires = ["too-old"] }
|
|
"2.0.0" = { requires = ["a==1.0.0"] }
|
|
"2.0.1" = { requires = ["a==1.0.0"] }
|
|
"2.0.2" = { requires = ["a==1.0.0"] }
|
|
"2.0.3" = { requires = ["a==1.0.0"] }
|
|
"2.0.4" = { requires = ["a==1.0.0"] }
|
|
"2.0.5" = { requires = ["a==1.0.0"] }
|
|
"2.0.6" = { requires = ["a==1.0.0"] }
|
|
"2.0.7" = { requires = ["a==1.0.0"] }
|
|
"2.0.8" = { requires = ["a==1.0.0"] }
|
|
"2.0.9" = { requires = ["a==1.0.0"] }
|