-
Notifications
You must be signed in to change notification settings - Fork 1.1k
TypeTest exhaustivity check #12026
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
Labels
Milestone
Comments
A possible solution to this is #11186. But as it is a more contentious PR it might be good to special case the fix for this particular feature and generalize it later. |
nicolasstucki
added a commit
to dotty-staging/dotty
that referenced
this issue
Apr 9, 2021
Properly capture the semantics of `TypeTest` in the `Space` logic. `TypeTest[S, T].unapply` is equivalent to (and mostly used as) a `_: T` pattern and therefore cover all `T`. * Update the documentation to make this feature clearer * Fixes scala#12026 * Fixes scala#12020 * Improves scala#11541
nicolasstucki
added a commit
to dotty-staging/dotty
that referenced
this issue
Apr 9, 2021
Properly capture the semantics of `TypeTest` in the `Space` logic. `TypeTest[S, T].unapply` is equivalent to (and mostly used as) a `_: T` pattern and therefore covers all `T`. * Update the documentation to make this feature clearer * Fixes scala#12026 * Fixes scala#12020 * Improves scala#11541
nicolasstucki
added a commit
to dotty-staging/dotty
that referenced
this issue
Apr 9, 2021
Properly capture the semantics of `TypeTest` in the `Space` logic. `TypeTest[S, T].unapply` is equivalent to (and mostly used as) a `_: T` pattern and therefore covers all `T`. * Update the documentation to make this feature clearer * Fixes scala#12026 * Fixes scala#12020 * Improves scala#11541
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Compiler version
3.0.0-RC2
Minimized code
Output
Expectation
Should not warn.
A call to
TypeTest.unapply
should match allA
as ana: A
would ifA
was concrete, therefore it covers the typeA
. Same forB
.The text was updated successfully, but these errors were encountered: