Bug Fixes:
- Fixed recent regression that results in incorrect narrowed type when using the
x in y
pattern wherey
is a container type whose element type isUnknown
orAny
. - Fixed bug that causes a false positive overlapping overload error when the overload accepts a
Callable[..., T]
form. - Fixed a bug that results in a hang under certain circumstances when using a recursive type alias.
- Fixed a bug that leads to a false positive when a function is decorated and has no explicit return type annotation and the body references the decorated function in a loop.
- Fixed a bug that leads to incorrect type evaluation when
__getitem__
is set to a callable object. - Fixed bug that results in confusing error message when there is a partially-unknown metaclass type detected by the
--verifytypes
command.
Enhancements:
- Updated typeshed stubs to the latest version.
- Added check for
\u
and\N
escapes within bytes literals, which are illegal. - Added support for a "bare"
Final
annotation in a dataclass entry that has a default value assigned to it. - Improved dataclass converters to support generic types.
- Added check for importing a
Final
variable from another module and then attempting to overwrite it. - Added check for an attempt to assign to a module-local variable if it is shadowing a
Final
variable declared by the builtins module or some other chained file. - Added support for evaluating the
slice
class type arguments for slice expressions. - Added check for invalid use of
ClassVar
qualifier within aNamedTuple
orTypedDict
attribute annotation.
Behavior Changes:
- Changed inference logic for exception groups to more closely match the runtime. If a non-base exception is targeted, the inferred type is now
ExceptionGroup
rather thanBaseExceptionGroup
.