Bug Fix: Fixed internal error that occurs when the type evaluator encounters a circular dependency between a class decorator and the class that it decorates.
Bug Fix: Fixed bug in protocol matching logic that results in incorrect errors indicating a function type mismatch.
Perf Improvement: Conditionalized the logic for the reportPropertyTypeMismatch diagnostic check. It's somewhat expensive, so don't bother executing it if it's disabled.
Perf Improvement: Fixed performance regression introduced along with user-defined type guards.
Enhancement: Added support for reverse logical operators (__ror__
, __rand__
, etc.).
Bug Fix: Added code to handle the case where a class has a custom metaclass that handles logical or (the __or__
method). Previous to this change, use of an |
operator with classes was assumed to be a misuse of PEP 614 in Python versions prior to 3.10.
Bug Fix: Fixed bug that resulted in an incorrect error when a list comprehension expression was used within a lambda and the expression referenced one or more of the lambda parameters.
Bug Fix: Fixed bug that caused incorrect error to be reported for names referenced in global and nonlocal statements when those names were not declared in the outer scope.
Bug Fix: Fixed bug that resulted in incorrect error when second argument of isinstance was a "type" or "Type" object.