chalk
chalk copied to clipboard
Recursive solver fails on some WF checks
While debugging a separate issue, I noticed that in our tests all WF checks are done by the SLG solver. Out of curiosity I tried using the recursive solver for the WF checks and noticed a handful of failures (i.e. the solver incorrectly determines the program to be not WF) and cases which run forever.
Failures:
- test::cycle::overflow
- test::misc::subgoal_abstraction
- test::misc::subgoal_cycle_inhabited
- test::misc::subgoal_cycle_uninhabited
Infinite execution:
- test::misc::lifetime_outlives_constraints
- test::misc::type_outlives_constraints
With #569 applied, the two outlives_constraints tests fail instead of running forever.
This has gotten worse, I think. Current state:
Stack overflow:
test::wf_lowering::ill_formed_type_in_header
Failures:
test::cycle::overflowtest::lifetimes::empty_outlivestest::lifetimes::erased_outlivestest::lifetimes::static_outlivestest::misc::lifetime_outlives_constraintstest::misc::subgoal_abstractiontest::misc::subgoal_cycle_inhabitedtest::misc::subgoal_cycle_uninhabitedtest::misc::type_outlives_constraintstest::wf_lowering::higher_ranked_cyclic_requirements