Richard Eisenberg rae at
Thu Oct 26 22:11:59 UTC 2017

Hi Simon,

Could you take a look at TcSimplify.tcSubsumes? This relatively new function pushes the TcLevel when calling tcSubType, but then doesn't set the TcLevel when calling the solver. Inexplicably, this sometimes works -- even passing the testsuite. Somehow, my work caused this to fail. I fixed it by setting the TcLevel before calling the solver.

Two questions:

1. Is this a reasonable fix?

2. (optional) How is it possible that this didn't fail drastically often?

Note (to author / reviewers of this function): my astonishment isn't that this error crept into the codebase -- I've done similar many many times. My astonishment is how the testsuite didn't find this error forthwith.


More information about the ghc-devs mailing list