do not use the global solver cache for proof trees
doing so requires overwriting global cache entries and generally adds significant complexity to the solver. This is also only ever done for root goals, so it feels easier to wrap the `evaluate_canonical_goal` in an ordinary query if necessary.
This commit is contained in:
parent
1d8f135b20
commit
7b86c98068
10 changed files with 74 additions and 209 deletions
|
@ -332,13 +332,9 @@ impl<'a, 'tcx> InspectGoal<'a, 'tcx> {
|
|||
|
||||
pub fn candidates(&'a self) -> Vec<InspectCandidate<'a, 'tcx>> {
|
||||
let mut candidates = vec![];
|
||||
let last_eval_step = match self.evaluation_kind {
|
||||
inspect::CanonicalGoalEvaluationKind::Overflow
|
||||
| inspect::CanonicalGoalEvaluationKind::CycleInStack
|
||||
| inspect::CanonicalGoalEvaluationKind::ProvisionalCacheHit => {
|
||||
warn!("unexpected root evaluation: {:?}", self.evaluation_kind);
|
||||
return vec![];
|
||||
}
|
||||
let last_eval_step = match &self.evaluation_kind {
|
||||
// An annoying edge case in case the recursion limit is 0.
|
||||
inspect::CanonicalGoalEvaluationKind::Overflow => return vec![],
|
||||
inspect::CanonicalGoalEvaluationKind::Evaluation { final_revision } => final_revision,
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue