Remove uses of Option<MarkerTree> (#5978)

## Summary

Follow up to https://github.com/astral-sh/uv/pull/5898. This should fix
some of the failures in https://github.com/astral-sh/uv/pull/5887 where
`uv lock --locked` is failing due to `Some(true)` and `None` markers not
comparing equal.
This commit is contained in:
Ibraheem Ahmed 2024-08-10 13:23:29 -04:00 committed by GitHub
parent 4eced1bd0c
commit f5110f7b5e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
45 changed files with 228 additions and 330 deletions

View file

@ -104,10 +104,7 @@ impl<'a, Context: BuildContext> SourceTreeResolver<'a, Context> {
.into_iter()
.map(|requirement| Requirement {
origin: Some(origin.clone()),
marker: requirement
.marker
.map(|marker| marker.simplify_extras(extras))
.filter(|marker| !marker.is_true()),
marker: requirement.marker.simplify_extras(extras),
..requirement
})
.collect();
@ -117,7 +114,7 @@ impl<'a, Context: BuildContext> SourceTreeResolver<'a, Context> {
// Find the first recursive requirement.
// TODO(charlie): Respect markers on recursive extras.
let Some(index) = requirements.iter().position(|requirement| {
requirement.name == metadata.name && requirement.marker.is_none()
requirement.name == metadata.name && requirement.marker.is_true()
}) else {
break;
};
@ -129,9 +126,8 @@ impl<'a, Context: BuildContext> SourceTreeResolver<'a, Context> {
for requirement in &mut requirements {
requirement.marker = requirement
.marker
.take()
.map(|marker| marker.simplify_extras(&recursive.extras))
.filter(|marker| !marker.is_true());
.clone()
.simplify_extras(&recursive.extras);
}
}