After #10764, RuleGraphs are built and errors are rendered much more quickly. But even relative to before, their quality has degraded.
A ton of information is recorded during RuleGraph construction that should allow for improving the situation here. It's likely that the current strategy of "recording all eliminated options and dumping them if something is unsatisfiable at the end of the run" is the wrong approach, and that we should instead be working forward and reporting why each installed rule that might be able to satisfy a dependency was not able to.
After #10764,
RuleGraph
s are built and errors are rendered much more quickly. But even relative to before, their quality has degraded.A ton of information is recorded during
RuleGraph
construction that should allow for improving the situation here. It's likely that the current strategy of "recording all eliminated options and dumping them if something is unsatisfiable at the end of the run" is the wrong approach, and that we should instead be working forward and reporting why each installed rule that might be able to satisfy a dependency was not able to.