Performance: Improved performance of import cycle check by adding caching.
Enhancement: Removed limitation that Literal
must be imported directly from typing
or typing_extensions
. It can now be re-exported from another library, although analysis performance will suffer a bit in that case.
Enhancement: Improved error message for CLI version of pyright when it is passed a file that is not a Python source file.
Bug Fix: Fixed bug that resulted in infinite recursion and a crash in rare circumstances involving a self
parameter annotation that referred to its own class.
Bug Fix: Fixed a bug that resulted in inconsistent type evaluation depending on evaluation ordering when a parameter or return type annotation involved a |
(union) operator.
Bug Fix: Fixed bug that resulted in wrong ordering of type parameters in a generic protocol if Protocol[...]
was meant to specify an explicit ordering, similar to the way Generic[...]
specify an explicit ordering.
Bug Fix: Fixed bug that led to inconsistent type evaluation results when the code flow engine determined that an expression was unreachable. The results differed depending on whether there was a branch between the expression and point of the graph that was unreachable.
Bug Fix: Fixed bug in stub generator that resulted in code that was syntactically incorrect when an index subscript contained an extra "hanging" comma.
Bug Fix: Fixed a bug in the stub generator logic that produced syntactically incorrect code when the source file contained a function with a position-only separator in its signature.
Bug Fix: Fixed a bug that led to a false positive "reportOverlappingOverload" error when the return type of two overlapping overloads both used a generic return type.
Enhancement: Extended type guard for discriminated literal fields to support properties.
Bug Fix: Fixed bug in expression printer for lambda expressions. It was not properly printing a position-only separator.
Bug Fix: Fixed bug that resulted in incorrect type evaluation when using a generic type alias with an instantiable class (as opposed to a class instance) when the TypeVar used within that type alias was bound to a type[x]
.
Enhancement: Updated typeshed stubs to the latest version.