Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

remove recursive solver #90

Closed
nikomatsakis opened this issue Mar 12, 2018 · 1 comment
Closed

remove recursive solver #90

nikomatsakis opened this issue Mar 12, 2018 · 1 comment
Labels
good first issue A good issue to start working on Chalk with

Comments

@nikomatsakis
Copy link
Contributor

It seems like it's time to get rid of Chalk's "recursive" solver and commit to the on-demand SLG solver. It's basically strictly better at this point.

The recursive solver code is found here:

https://github.com/rust-lang-nursery/chalk/tree/master/src/solve/recursive

We'll also want to remove this SolverChoice variant:

https://github.com/rust-lang-nursery/chalk/blob/82a8472ca9f6756d160b639dfc68f6a69076b716/src/solve/mod.rs#L183-L187

Which will entail then modifying the unit tests. They mostly run on both solvers, as controlled here:

https://github.com/rust-lang-nursery/chalk/blob/82a8472ca9f6756d160b639dfc68f6a69076b716/src/solve/test/mod.rs#L72

But sometimes the tests have distinct results for the recursive vs SLG solvers:

https://github.com/rust-lang-nursery/chalk/blob/82a8472ca9f6756d160b639dfc68f6a69076b716/src/solve/test/mod.rs#L932-L937

And of course we'll have to modify chalki, the command-line interpreter too. We can just remove this arm:

https://github.com/rust-lang-nursery/chalk/blob/82a8472ca9f6756d160b639dfc68f6a69076b716/src/bin/chalki.rs#L226-L228

though we may just want to remove the whole --solver option.

@nikomatsakis nikomatsakis added the good first issue A good issue to start working on Chalk with label Mar 12, 2018
@nikomatsakis
Copy link
Contributor Author

cc @rust-lang-nursery/wg-traits -- simple way to get acquainted with chalk code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue A good issue to start working on Chalk with
Projects
None yet
Development

No branches or pull requests

2 participants