You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/// 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`.
21
+
///
22
+
/// 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.
23
+
///
24
+
/// ```text
25
+
/// wrong-backtracking-basic
26
+
/// ├── environment
27
+
/// │ └── python3.8
28
+
/// ├── root
29
+
/// │ ├── requires a
30
+
/// │ │ ├── satisfied by a-1.0.0
31
+
/// │ │ └── satisfied by a-2.0.0
32
+
/// │ └── requires b
33
+
/// │ ├── satisfied by b-1.0.0
34
+
/// │ ├── satisfied by b-2.0.0
35
+
/// │ ├── satisfied by b-2.0.1
36
+
/// │ ├── satisfied by b-2.0.2
37
+
/// │ ├── satisfied by b-2.0.3
38
+
/// │ ├── satisfied by b-2.0.4
39
+
/// │ ├── satisfied by b-2.0.5
40
+
/// │ ├── satisfied by b-2.0.6
41
+
/// │ ├── satisfied by b-2.0.7
42
+
/// │ ├── satisfied by b-2.0.8
43
+
/// │ └── satisfied by b-2.0.9
44
+
/// ├── a
45
+
/// │ ├── a-1.0.0
46
+
/// │ └── a-2.0.0
47
+
/// ├── b
48
+
/// │ ├── b-1.0.0
49
+
/// │ │ └── requires too-old
50
+
/// │ │ └── satisfied by too-old-1.0.0
51
+
/// │ ├── b-2.0.0
52
+
/// │ │ └── requires a==1.0.0
53
+
/// │ │ └── satisfied by a-1.0.0
54
+
/// │ ├── b-2.0.1
55
+
/// │ │ └── requires a==1.0.0
56
+
/// │ │ └── satisfied by a-1.0.0
57
+
/// │ ├── b-2.0.2
58
+
/// │ │ └── requires a==1.0.0
59
+
/// │ │ └── satisfied by a-1.0.0
60
+
/// │ ├── b-2.0.3
61
+
/// │ │ └── requires a==1.0.0
62
+
/// │ │ └── satisfied by a-1.0.0
63
+
/// │ ├── b-2.0.4
64
+
/// │ │ └── requires a==1.0.0
65
+
/// │ │ └── satisfied by a-1.0.0
66
+
/// │ ├── b-2.0.5
67
+
/// │ │ └── requires a==1.0.0
68
+
/// │ │ └── satisfied by a-1.0.0
69
+
/// │ ├── b-2.0.6
70
+
/// │ │ └── requires a==1.0.0
71
+
/// │ │ └── satisfied by a-1.0.0
72
+
/// │ ├── b-2.0.7
73
+
/// │ │ └── requires a==1.0.0
74
+
/// │ │ └── satisfied by a-1.0.0
75
+
/// │ ├── b-2.0.8
76
+
/// │ │ └── requires a==1.0.0
77
+
/// │ │ └── satisfied by a-1.0.0
78
+
/// │ └── b-2.0.9
79
+
/// │ └── requires a==1.0.0
80
+
/// │ └── satisfied by a-1.0.0
81
+
/// └── too-old
82
+
/// └── too-old-1.0.0
83
+
/// ```
84
+
#[test]
85
+
fnwrong_backtracking_basic() -> Result<()>{
86
+
let context = TestContext::new("3.8");
87
+
88
+
// In addition to the standard filters, swap out package names for shorter messages
0 commit comments