1.1.279
版本发布时间: 2022-11-09 09:51:56
microsoft/pyright最新发布版本:1.1.387(2024-10-30 09:17:48)
Behavior Change: Changed the way pyright handles the case where a dataclass or dataclass-like class handles a synthesized __init__
if one or more base classes are unknown.
Bug Fix: Fixed bug in type printer logic that resulted in a triple *
before an unpacked TypedDict when it was used with a **kwargs
parameter and the TypedDict was generic.
Bug Fix: Fixed a bug that resulted in a false positive when invoking the constructor for a generic class that uses an unpacked TypedDict with an **args
parameter.
Bug Fix: Fixed regression that caused non-JSON output to be emitted when --verifytypes
is used in conjunction with --outputjson
.
Behavior Change: Changed the reportUninitializedInstanceVariable
so it doesn't run on stub files.
Enhancement: Added new diagnostic rule reportShadowedImport
that emits a diagnostic if a local module shadows a stdlib module.
Bug Fix: Fixed a bug that resulted in a false positive when a call expression includes an unpacked argument that is a tuple with a known length.
Bug Fix: Reverted recent change to the reportUnnecessaryComparison check that introduced a regression.
Bug Fix: Fixed a bug that resulted in a false negative when a *args
parameter with an unpacked tuple is followed by additional keyword-only parameters that are not supplied by a caller.
Bug Fix: Added code to clean up the temp directory that pyright creates when determining whether the file system is case sensitive.
Bug Fix: Fixed bug that resulted in false positive error when evaluating an unpacked tuple or TypeVarTuple in an *args
parameter annotation.
Bug Fix: Improved argument/parameter matching for unpacked tuple arguments.
Bug Fix: Fixed a bug in detection of variance inconsistency with base classes in a class definition.
Enhancement: Added support for detecting unhashable types within set and dict expressions. These result in a TypeError at runtime.
Bug Fix: Fixed bug that resulted in poor hover text message for keyword arguments passed to a TypedDict constructor.
Bug Fix: Fixed a bug that resulted in incorrect type evaluation when a generic class implicitly referenced one of its own magic methods (e.g. __iter__
).
Enhancement: Added support for recursive type references when using the functional "alternative syntax" for TypedDict
.
Behavior Change: Changed the synthesized __dataclass_fields__
variable in dataclass to be a ClassVar
so it cannot be overridden by an instance variable.
Behavior Change: Changed protocol matching logic to enforce that a protocol with a ClassVar
requires that any compatible class also declare the corresponding field as a ClassVar
. Previously, any class-scoped variable satisfied the protocol in this case. This change brings pyright and mypy into agreement.
Bug Fix: Fixed a bug that resulted in incorrect type evaluation involving a recursive type alias that is defined as the union of other types, one of which introduces the recursion.