Skip to content

Commit 3052e59

Browse files
committed
Revert most of #84586611 to get test to pass
1 parent 9d86b82 commit 3052e59

File tree

2 files changed

+34
-5
lines changed

2 files changed

+34
-5
lines changed

tests/testsuite/resolve.rs

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -357,7 +357,7 @@ fn public_dependency_skipping() {
357357
];
358358
let reg = registry(input);
359359

360-
resolve(pkg_id("root"), vec![dep("c")], &reg).unwrap();
360+
resolve_and_validated(pkg_id("root"), vec![dep("c")], &reg, None).unwrap();
361361
}
362362

363363
#[test]
@@ -377,7 +377,7 @@ fn public_dependency_skipping_in_backtracking() {
377377
];
378378
let reg = registry(input);
379379

380-
resolve(pkg_id("root"), vec![dep("C")], &reg).unwrap();
380+
resolve_and_validated(pkg_id("root"), vec![dep("C")], &reg, None).unwrap();
381381
}
382382

383383
#[test]
@@ -394,6 +394,35 @@ fn public_sat_topological_order() {
394394
assert!(resolve_and_validated(pkg_id("root"), vec![dep("A")], &reg, None).is_err());
395395
}
396396

397+
#[test]
398+
fn public_sat_unused_makes_things_pub() {
399+
let input = vec![
400+
pkg!(("a", "0.0.1")),
401+
pkg!(("a", "0.0.0")),
402+
pkg!(("b", "8.0.1") => [dep_req_kind("a", "= 0.0.1", Kind::Normal, true),]),
403+
pkg!(("b", "8.0.0") => [dep_req("a", "= 0.0.1"),]),
404+
pkg!("c" => [dep_req("b", "= 8.0.0"),dep_req("a", "= 0.0.0"),]),
405+
];
406+
let reg = registry(input);
407+
408+
resolve_and_validated(pkg_id("root"), vec![dep("c")], &reg, None).unwrap();
409+
}
410+
411+
#[test]
412+
fn public_sat_unused_makes_things_pub_2() {
413+
let input = vec![
414+
pkg!(("c", "0.0.2")),
415+
pkg!(("c", "0.0.1")),
416+
pkg!(("a-sys", "0.0.2")),
417+
pkg!(("a-sys", "0.0.1") => [dep_req_kind("c", "= 0.0.1", Kind::Normal, true),]),
418+
pkg!("P" => [dep_req_kind("a-sys", "*", Kind::Normal, true),dep_req("c", "= 0.0.1"),]),
419+
pkg!("A" => [dep("P"),dep_req("c", "= 0.0.2"),]),
420+
];
421+
let reg = registry(input);
422+
423+
resolve_and_validated(pkg_id("root"), vec![dep("A")], &reg, None).unwrap();
424+
}
425+
397426
#[test]
398427
#[should_panic(expected = "assertion failed: !name.is_empty()")]
399428
fn test_dependency_with_empty_name() {

tests/testsuite/support/resolver.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -377,12 +377,12 @@ impl SatResolve {
377377
// we already ensure there is only one version for each `activations_key` so we can think of
378378
// `can_see` as being in terms of a set of `activations_key`s
379379
// and if `p` `publicly_exports` `export` then it `can_see` `export`
380-
let mut can_see: HashMap<_, HashMap<_, varisat::Var>> = publicly_exports.clone();
380+
let mut can_see: HashMap<_, HashMap<_, varisat::Var>> = HashMap::new();
381381

382382
// if `p` has a `dep` that selected `ver` then it `can_see` all the things that the selected version `publicly_exports`
383383
for (&p, deps) in version_selected_for.iter() {
384-
let p_can_see = can_see.entry(p.as_activations_key()).or_default();
385-
for (_, versions) in deps.iter().filter(|(d, _)| !d.is_public()) {
384+
let p_can_see = can_see.entry(p).or_default();
385+
for (_, versions) in deps.iter() {
386386
for (&ver, sel) in versions {
387387
for (&export_pid, &export_var) in publicly_exports[&ver].iter() {
388388
let our_var = p_can_see.entry(export_pid).or_insert_with(|| cnf.new_var());

0 commit comments

Comments
 (0)