[Patterns] remove irrelevant specification of pattern type schemas. #2639
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.
The pattern type schemas for logical-or, null-check, constant, and relational patterns were not meaningful because pattern type schemas are only used in irrefutable contexts, and these patterns are not allowed to appear in irrefutable contexts.
In particular, the definition of pattern type schema for constant patterns was causing confusion because it appeared to cause a circularity: it defined the pattern type schema for a constant pattern to be the inferred type of the constant; however text elsewhere specifies that the type of the constant is inferred based on the type of the scrutinee, and the pattern type schema is used to infer the type of the scrutinee. However this wasn't a real problem, because constant patterns are illegal in precisely the circumstances in whch pattern type schemas are used.