-
Notifications
You must be signed in to change notification settings - Fork 395
[ fix ] Improvements and fixes to the coverage checker #3691
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
Conversation
fc0205f to
4abe12c
Compare
Negate `recoverable` and change the order of the clauses. All transformations in this step should preserve behavior
It is now equivalent to `impossibleOK`
…gnal to coverage cheker
I couldn't come up with a test for this, but I'm fairly certain that if it affected any code, that code could be used to construct a proof of false.
It is now equivalent to `impossibleErrOK`
We don't support matching on arrow results because it's a function
1e3d06e to
78fb63a
Compare
78fb63a to
80447c1
Compare
340cb5c to
37266ee
Compare
buzden
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After the last change regarding to the management of Types, I think it's all okay now
I’ve found that there’s still an issue with matching on primitive types. I’m already finishing up the fix. matchInt : () -> Void
matchInt Int impossible |
37266ee to
04f8c8c
Compare
|
Done! |
Description
Fixes various issues in the coverage checker, primarily those that lead to a proof of false. Also improves the checking of impossible cases (both user-defined and compiler-inferred).
Fixed (reverted) Erased type-casing function seen as total when it's not #3357The fix significantly worsens coverage checking for erased functions. I’ll return to this later.
I do not use the
totalmodifier in tests because coverage should be checked by default.Self-check
CONTRIBUTING.mdand I've updated
CONTRIBUTORS.mdwith my name.implementation, I have updated
CHANGELOG_NEXT.md