Bug Fixes: Improved support for PEP 634 (Structured Pattern Matching):
- Improved negative-case type narrowing for capture patterns. Because capture patterns capture anything, the remaining type is "Never".
- Improved type narrowing for mapping patterns used in structural pattern matching when the subject expression type contains a typed dictionary.
- Added code to detect and report cases where irrefutable patterns are used within an "or" pattern and are not the last entry.
- Added logic to verify that all "or" subpatterns target the same names as specified in PEP 634.
- Added code to detect the case where a case statement without a guard expression uses an irrefutable pattern but is not the final case statement. This is disallowed according to PEP 634.
- Fixed bug in parser that resulted in incorrect text ranges for parenthetical patterns.
Bug Fix: Improved performance for completion suggestions, especially when large numbers of suggestions are returned.
Enhancement: Updated typeshed stubs to the latest.
Enhancement: Enabled postponed type annotation evaluation by default for Python 3.10.
Bug Fix: Fixed bug that caused a false positive when a bound TypeVar was used to access a class method that was annotated with a bound TypeVar for the "cls" parameter.
Bug Fix: Fixed bug that caused index expressions to be printed incorrectly when they appeared in error messages.
Enhancement: Added type narrowing support for index expressions that use a numeric (integral) literal subscript value.
Enhancement: Improved the logic that determines whether a call expression within the code flow graph is a "NoReturn" call. It now provides better handling of unions when evaluating the call type.
Enhancement: Added support for parenthesized list of context managers in "with" statement for Python 3.10.
Bug Fix: Fixed bug that prevented the use of a generic type alias defined using a PEP 593-style "Annotated" with a bare TypeVar.