Behavior Change: Changed the type narrowing logic for truthy and falsy conditions to exempt protocol classes.
Bug Fix: Fixed bug that resulted in incorrect type evaluation of an or
binary operator when the same expression was used in the LHS and RHS and was always truthy.
Bug Fix: Fixed bug that resulted in the incorrect evaluation of a type resulting from a call to a constructor for an explicitly-specialized generic class in the case where that class implements neither a __new__
nor an __init__
method.
Enhancement: Improved error message for descriptor and property setters.
Bug Fix: Fixed a bug in PEP 646 unpacked tuple support where *args
could not be annotated with *tuple
type.
Bug Fix: Fixed a false negative in the handling of dataclasses that contain fields with default orders before fields without default values in the case where an __init__
is already defined on the class.
Bug Fix: Fixed bug that results in false positive error when using a PEP 677 callable arrow syntax within a quoted type on Python 3.10 or older.
Bug Fix: Fixed a bug in the code that prints types to text. It was not properly handling the case where a callable contains a synthesized *args parameter with a type that isn't unpacked.
Bug Fix: Fixed false negative where type annotations beginning with "*" were not properly flagged as a syntax error.
Improved support for matching of TypeVarTuple when used with *args parameter.
Bug Fix: Added missing check for a TypeVarTuple value that is not unpacked when passed as an argument.