github microsoft/pyright 1.1.113
Published 1.1.113

latest releases: 1.1.383, 1.1.382, 1.1.381...
3 years ago

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.

Don't miss a new pyright release

NewReleases is sending notifications on new releases.