Bug Fixes:
- Fixed bug that caused "go to definition" and semantic rename to not work for forward-declared symbols referenced in a "type" type alias definition.
- Fixed bug in parser that resulted in an incorrect syntax error when certain expression forms were used with the
type
statement to define a type alias. - Fixed a bug that resulted in a false negative when attempting to access valid attributes from a type alias created via a call to the
TypeAliasType
constructor. - Fixed a bug that led to an incorrect type evaluation when explicitly specializing a generic class or type alias with a ParamSpec.
- Fixed a bug that led to a false positive "not awaitable" error if the
__await__
method return type was Unknown. - Fixed a bug that results in a false negative when the
TypeAliasType
constructor is called with an expression that refers to a traditional TypeVar. - Fixed a bug that leads to a false negative when validating type compatibility between two callables and the source has a position-only parameter corresponding to a non-position-only parameter in the dest.
- Fixed bug in code flow analysis that resulted in an incorrect type evaluation when a "NoReturn" call is made within a code block protected by an exception-suppressing context manager.
Behavior Changes:
- Added LSP exemption for
__post_init__
method. - Improved overload overlap logic to detect partial overlaps when parameter types include unions that intersect.
Enhancements:
- Improved logic that determines whether the expression used for a
type
statement or a call toTypeAliasType
is a valid type expression. - Added additional checks for invalid
NewType
calls. - Improved detection of invalid type alias expressions for implicit (traditional) type aliases.
- Improved error reporting for
with
statement when__enter__
or__aenter__
is present but cannot be bound.