about summary refs log tree commit diff
path: root/compiler/rustc_next_trait_solver/src/solve/mod.rs
diff options
context:
space:
mode:
authorlcnr <rust@lcnr.de>2025-07-29 09:46:41 +0000
committerlcnr <rust@lcnr.de>2025-07-29 09:47:10 +0000
commit64a27c2e370e1f9e50fb231fc7d6a4debcebe985 (patch)
tree6907fe7565510a5238fb4afd6c26ea8fcdac1f6e /compiler/rustc_next_trait_solver/src/solve/mod.rs
parent0b323eacd4c4cf99d18bd75ad02b2139dd990297 (diff)
downloadrust-64a27c2e370e1f9e50fb231fc7d6a4debcebe985.tar.gz
rust-64a27c2e370e1f9e50fb231fc7d6a4debcebe985.zip
resuse eagerly resolved goal from previous iteration
Diffstat (limited to 'compiler/rustc_next_trait_solver/src/solve/mod.rs')
-rw-r--r--compiler/rustc_next_trait_solver/src/solve/mod.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/rustc_next_trait_solver/src/solve/mod.rs b/compiler/rustc_next_trait_solver/src/solve/mod.rs
index f39426c7689..9d52dee3c65 100644
--- a/compiler/rustc_next_trait_solver/src/solve/mod.rs
+++ b/compiler/rustc_next_trait_solver/src/solve/mod.rs
@@ -386,6 +386,10 @@ fn response_no_constraints_raw<I: Interner>(
 
 /// The result of evaluating a goal.
 pub struct GoalEvaluation<I: Interner> {
+    /// The goal we've evaluated. This is the input goal, but potentially with its
+    /// inference variables resolved. This never applies any inference constraints
+    /// from evaluating the goal.
+    pub goal: Goal<I, I::Predicate>,
     pub certainty: Certainty,
     pub has_changed: HasChanged,
     /// If the [`Certainty`] was `Maybe`, then keep track of whether the goal has changed