1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
use crate::search_graph::DepthFirstNumber;
use chalk_ir::{Goal, InEnvironment, UCanonical};
pub type UCanonicalGoal<I> = UCanonical<InEnvironment<Goal<I>>>;
mod combine;
mod fulfill;
mod recursive;
mod search_graph;
pub mod solve;
mod stack;
pub use recursive::RecursiveSolver;
#[derive(Copy, Clone, Debug)]
pub(crate) struct Minimums {
pub(crate) positive: DepthFirstNumber,
}
impl Minimums {
pub fn new() -> Self {
Minimums {
positive: DepthFirstNumber::MAX,
}
}
pub fn update_from(&mut self, minimums: Minimums) {
self.positive = ::std::cmp::min(self.positive, minimums.positive);
}
}