You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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.
The text was updated successfully, but these errors were encountered: