uv-resolver: remove 'fork.is_false()' filtering

This filtering is now redundant, since forking now avoids these
degenerate cases by construction.

The main change to forking that enables skipping over "always
false" forks is that forking now starts with the parent's markers
instead of starting with MarkerTree::TRUE and trying to combine
them with the parent's markers later. This in turn leads to
skipping over anything that "can't" happen when combined with the
parents markers. So we never hit the case of generating a fork
that, when combined with the parent's markers, results in a
marker that is always false. We just avoid it in the first place.
This commit is contained in:
Andrew Gallant 2024-11-21 08:35:12 -05:00 committed by Andrew Gallant
parent 42da99ff92
commit 2b6d9b2289

View file

@ -188,8 +188,6 @@ impl ResolverOutput {
.expect("A non-forking resolution exists in forking mode")
.clone()
})
// Any unsatisfiable forks were skipped.
.filter(|fork| !fork.is_false())
.collect()
})
.unwrap_or_else(Vec::new)
@ -203,8 +201,6 @@ impl ResolverOutput {
.cloned()
.unwrap_or(MarkerTree::TRUE)
})
// Any unsatisfiable forks were skipped.
.filter(|fork| !fork.is_false())
.collect()
};