-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix nullablility rules for field access (#394)
* [ci skip] Add test assign to nullable class field * [ci skip] Fix field access constraint generation However now we have an issue that primitive comparisons seems to trip up. Something is up with how we generate constraints on the fly for field access in conjunction with function access. If we flip back the field_ty_exp, then we no longer get the failed definition_ast_verify test. It seems that if we fix the issue with the Union, we get nullability check issues and vice versa. * Some cleanup * Substitute also assumes constraints mutable ref - reinsert also assumes constraint mutable ref - Improve Position Display - Improve Constraint Display - Improve access logic * [ci skip] Field type super in field access gen * Add exception that Name may be super of any This means that in certain situations, a Name is a superset of another if it is a superset of just one of the types of other. For now, this is useful at a function call site where we generate such constraints on the fly. There, we only need the current expression to be super of one. However, seeing as we only have one use case at the moment, I'm not sure this logic belongs in Name itself. Perhaps this might be useful in future for fixing other issues. Issues such as #296 come to mind. - Unignore certain mutability test. * Cleanup
- Loading branch information
1 parent
67ebf07
commit 198815d
Showing
34 changed files
with
292 additions
and
218 deletions.
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
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
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
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
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
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
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
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
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.