Skip to content

Commit 4045e11

Browse files
committed
Add PartialSolution::prioritized_packages
1 parent c22dd96 commit 4045e11

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

src/internal/partial_solution.rs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,20 @@ impl<DP: DependencyProvider> PartialSolution<DP> {
293293
}
294294
}
295295

296+
#[cold]
297+
pub fn prioritized_packages(&self) -> impl Iterator<Item = (Id<DP::P>, &DP::VS)> {
298+
// TODO(konsti): Should we use `self.outdated_priorities` instead?
299+
let current_decision_level = self.current_decision_level;
300+
self.package_assignments
301+
.get_range(self.current_decision_level.0 as usize..)
302+
.unwrap()
303+
.iter()
304+
.filter(move |(_, pa)| pa.highest_decision_level == current_decision_level)
305+
.filter_map(|(&p, pa)| {
306+
Some((p, pa.assignments_intersection.potential_package_filter()?))
307+
})
308+
}
309+
296310
#[cold]
297311
pub fn pick_highest_priority_pkg(
298312
&mut self,

0 commit comments

Comments
 (0)