]> git.lizzy.rs Git - rust.git/blobdiff - compiler/rustc_infer/src/traits/engine.rs
Auto merge of #107663 - matthiaskrgr:107423-point-at-EOF-code, r=compiler-errors
[rust.git] / compiler / rustc_infer / src / traits / engine.rs
index 805eb95e31612433e51ba5b34e55e92a9a06bccc..f75344f20b6d98e842f622dfd3e39d23e8e22385 100644 (file)
@@ -41,6 +41,14 @@ fn register_predicate_obligation(
     fn collect_remaining_errors(&mut self) -> Vec<FulfillmentError<'tcx>>;
 
     fn pending_obligations(&self) -> Vec<PredicateObligation<'tcx>>;
+
+    /// Among all pending obligations, collect those are stalled on a inference variable which has
+    /// changed since the last call to `select_where_possible`. Those obligations are marked as
+    /// successful and returned.
+    fn drain_unstalled_obligations(
+        &mut self,
+        infcx: &InferCtxt<'tcx>,
+    ) -> Vec<PredicateObligation<'tcx>>;
 }
 
 pub trait TraitEngineExt<'tcx> {