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

replacing the new solver with yet another solver will be hard #6

Open
lcnr opened this issue Feb 17, 2023 · 0 comments
Open

replacing the new solver with yet another solver will be hard #6

lcnr opened this issue Feb 17, 2023 · 0 comments

Comments

@lcnr
Copy link
Owner

lcnr commented Feb 17, 2023

Each time we meaningfully change how the trait solver works, we have to increase its power.

This is necessary to not break code which works due to weird quirks of the existing solver. I expect that replacing the stable trait solver with the new one will already be very difficult as we have to maintain backwards compatibility. If there are any major issues in the new solver which we have to fix after that solver is stable, fixing them may be even harder as the new solver is already very powerful.

An example here is overflow. In the current solver overflow results in a fatal error and aborts. The new solver has to make overflow as e.g. changes to the evaluation order can surface a path which overflows which was previously hidden. While doing this we already have to be careful to prevent hangs in the new solver when encountering overflow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant