File tree Expand file tree Collapse file tree 2 files changed +4
-1
lines changed Expand file tree Collapse file tree 2 files changed +4
-1
lines changed Original file line number Diff line number Diff line change @@ -143,7 +143,6 @@ impl<I: Interner> chalk_solve::Solver<I> for RecursiveSolver<I> {
143
143
goal : & UCanonical < InEnvironment < Goal < I > > > ,
144
144
should_continue : & dyn std:: ops:: Fn ( ) -> bool ,
145
145
) -> Option < chalk_solve:: Solution < I > > {
146
- // TODO support should_continue in recursive solver
147
146
self . ctx
148
147
. solve_root_goal ( goal, program, should_continue)
149
148
. ok ( )
Original file line number Diff line number Diff line change @@ -43,6 +43,10 @@ pub(super) trait SolveIteration<I: Interner>: SolveDatabase<I> {
43
43
minimums : & mut Minimums ,
44
44
should_continue : impl std:: ops:: Fn ( ) -> bool + Clone ,
45
45
) -> Fallible < Solution < I > > {
46
+ if !should_continue ( ) {
47
+ return Err ( NoSolution ) ;
48
+ }
49
+
46
50
let UCanonical {
47
51
universes,
48
52
canonical :
You can’t perform that action at this time.
0 commit comments