Bug Fix: Fixed recent regression that results in a false positive when evaluating *P.args
and **P.kwargs
argument types passed to a function within a nested inner function.
Bug Fix: Fixed bug that resulted in false positive with the reportOverlappingOverload diagnostic check when a parameter in one overload is annotated with type
or Type[Any]
and the corresponding parameter in another overload is annotated with Any
.
Bug Fix: Fixed bug that resulted in incorrect type evaluation when an import statement failed to resolve and targeted a submodule of a previous import statement, such as import a.b
followed by import a.b.c
where a.b.c
couldn't be resolved. In this circumstance, pyright "forgot" that a.b
had been resolved previously, so all symbols imported from a.b
were evaluated as Unknown
.
Enhancement: Enhanced reportUnnecessaryComparison diagnostic check so it also detects cases where a function appears within a condition expression. This is a common source of programming error.
Bug Fix: Fixed bug that resulted in a false positive error when validating the variance of a type variable used within a protocol class. It specifically affected the case where a TypeVar was used in the return type of a read-only property.
Bug Fix: Fixed a bug that resulted in a false negative when validating arguments to a function that uses a specialized TypeVar within an unpacked tuple as an *args
parameter type.
Enhancement: Expanded the reportUnknownVariableType
check to cover some cases that it didn't previously. It now handles unknown or partially-unknown symbols imported from from a import b
statements, unpacked assignments, with a as b
statements, and more.
Bug Fix: Fixed a bug that resulted in a runtime assertion (and crash) when dealing with return expressions that involve more than one constrained TypeVar.