-
Notifications
You must be signed in to change notification settings - Fork 785
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
Nullness bugfix - change isObjTy early returns in ConstraintSolver #17757
Merged
vzarytovskii
merged 21 commits into
main
from
17737-nullness-issue-passing-nullable-value-as-non-nullable-method-parameter-works-without-warning
Oct 4, 2024
Merged
Nullness bugfix - change isObjTy early returns in ConstraintSolver #17757
vzarytovskii
merged 21 commits into
main
from
17737-nullness-issue-passing-nullable-value-as-non-nullable-method-parameter-works-without-warning
Oct 4, 2024
Conversation
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
7 tasks
…as-non-nullable-method-parameter-works-without-warning
T-Gro
changed the title
[WIP See what fails] - Nullness bugfix - change isObjTy early returns in ConstraintSolver
Nullness bugfix - change isObjTy early returns in ConstraintSolver
Sep 26, 2024
…as-non-nullable-method-parameter-works-without-warning
❗ Release notes required
|
…as-non-nullable-method-parameter-works-without-warning
…as-non-nullable-method-parameter-works-without-warning
vzarytovskii
approved these changes
Oct 3, 2024
edgarfgp
approved these changes
Oct 4, 2024
abonie
approved these changes
Oct 4, 2024
This was referenced Oct 31, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Fixes #17737 .
This changes type inference and type matching for the objTy type.
Previously, any type was convertible to obj.
With nullness turned on, this can only be true for (obj | null).
For a regular non-nullable obj, the nullness of the obj must subsume nullness of the other type being solved.
In case of generic code, subsuming to obj (e.g. because the generic value is being passed as an argument of type obj) leads to requiring the "not null" generic constraint.
Fixing it revealed a few more nullness warnings in this very codebase, which I addressed as well - I believe all of them are legit and not false positives (i.e. this change actually revealed nullness-dangerous paths).