Bug Fixes:
- Fixed a bug that results in incorrect type evaluation if a list expression includes a generator expression.
- Fixed bug that results in a false negative when a TypeAliasType object is used in a class pattern.
- Fixed bug that results in false positive when implicitly specializing a class parameterized by a TypeVarTuple when there is no default.
- Fixed bug that results in false positive when a list or set expression is evaluated using bidirectional type inference when the expected type is
MutableSet
orMutableSequence
. - Fixed bug that results in a false negative when overriding a method that has keyword parameters with a method that has a
*args
parameter. - Fixed a bug that results in a false positive error in certain circumstances involving a TypeVarTuple used within an overload.
- Fixed bug that results in a false positive error when a base class defines a writable property and a subclass writes to the property.
- Fixed bug that results in a false positive "overload implementation does not match overloads" diagnostic when positional-only and keyword-only parameters are involved.
- Fixed a bug that results in a false positive in a complex situation that involves generic protocols, properties, and mix-in classes.
- Fixed bug that results in false positive error when a
__new__
method in a metaclass uses PEP 692 (unpacked TypeDict) to annotate its**kwargs
parameter.
Enhancements:
- Updated typeshed stubs to the latest. This version of typeshed replaces the older-style positional-only parameters with PEP 570 syntax.
- Improved validation for
except
andexcept*
statements to catch some previously-undetected invalid cases. - Expanded handling of python versions to handle more than just major/minor version numbers. Pyright now handles micro, releaseLevel, and serial numbers as well.