-
Notifications
You must be signed in to change notification settings - Fork 97
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
Fix type and coverage checking for patterns #538
Merged
Changes from 5 commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
6e7f140
Clean up operator typing
rossberg 1c01477
Fix pattern typing
rossberg 2a0589d
Print Non as None
rossberg 3ab5d6e
Eps
rossberg d49cb41
Claudio's comments
rossberg 11d9386
Fix obj coverage; more tests
rossberg f1114d6
Coverage for uninhabited types
rossberg be15551
Update test/run/coverage.as
rossberg e57e884
Merge branch 'master' into pat-lub
rossberg 8aaab4b
Test expectation
rossberg File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
This looks okay. You look up the right type in
match_obj
below. Do you fix a bug with this change?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.
It was just meant as a simplification. Especially the
sensible
filtering seemed dubious to me -- AFAICS, pfs' should never have been smaller than pfs, unless the type checker is unsound. Do you remember why you needed it?But after adding a few more tests, I apparently introduced new bugs. Fixed now and more tests added to coverage.as.
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.
I introduced
sensible
in #296 (commit 2bd2ed4) and the commit message says "now we only iterate over fields that are available as indicated by thetype." It fixed a crash in the type checker. The test it was relevant for was
test/run/objpat-iter.as
, e.g.This is the sequences-as-objects behaviour that you have eliminated recently. I can dig deeper, but I think this is moot now.
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.
Okay, thanks!