Fixed bug that results in a false positive error when explicitly calling __new__ on a dataclass, namedtuple, or TypedDict. These classes all require synthesized __new__ methods.
Fixed bug that results in false negative when a __new__ or __init__ method cannot be bound without a type violation.
Fixed a bug that results in incorrect type narrowing of enums that derive from enum.Flag.
Fixed a type hole when a dictionary expression includes a dictionary expansion operator that acts on a non-closed TypedDict.
Fixed bug that results in a type not being narrowed when using the K in TD type guard pattern (where TD is a TypedDict and K is a literal key). Narrowing was skipped if the RHS operand was not a simple identifier.
Fixed inconsistent handling of literal values in a list comprehension.
Fixed a bug that results in a false positive error when an unpacked TypeVarTuple is used in a function defined with PEP-695 syntax.
(From Pylance) Improved heap usage tracking within language server to reduce the likelihood of crashes related to heap exhaustion.
Fixed a bug that results in incorrect inferred parameter types for an unannotated method in a subclass when the parent class method contains function-scoped TypeVars.
Enhancements:
Added support for negative (fall-through) type narrowing for subject subexpressions in match statement when subject consists of a tuple expression and patterns exhaustively match the tuple.
Enhanced dictionary type evaluation to support dictionary items that overwrite previous dictionary items. Only the last value type is now considered, so if previous values (which are overwritten) would otherwise violate typing rules, this no longer generates a type error.
Enhanced discriminated class support to include not only literal field values but also None.
Improved diagnostic message for access to unknown member in the case where the user probably meant to access an item in a TypedDict but used a member access expression rather than an index expression.
Improved return result for synthesized get method for closed TypedDict classes (as defined in PEP 728).
Refactored tokenizer and parser output to help reduce the amount of memory needed.
Behavior Changes:
Changed the handling of Final variables (that are not explicitly marked ClassVar) within dataclass class bodies. This is consistent with the runtime and this proposed change to the typing spec.
Published 1.1.356
Bug Fixes:
Fixed bug that results in a false positive error when a class-scoped TypeVar with a default that references another class-scoped TypeVar is used in a method signature in that class.
Fixed bug that resulted in a false positive error if a PEP-695 type statement uses a type parameter and encloses the RHS in quotes.
Fixed bug that results in incorrect type narrowing in the negative (fall-through) case when a runtime-checkable protocol class is used as a class pattern with arguments within a match statement.
Fixed a bug that results in a false positive when a class-scoped TypeVar used within a method has a default that refers to another class-scoped TypeVar.
Fixed a bug that results in a false positive reportImplicitOverride diagnostic if the class derives from an Unknown or Any class.
Behavior Changes:
Tweaked bidirectional type inference behaviors for lists to improve certain inference cases.
Changed the logic for metaclass instance variable lookups to ignore the lookup if the metaclass MRO contains an unknown class.
Enhancements:
Update Unicode range tables to match Unicode 15.1.
Added check for the use of a non-runtime-checkable protocol class in a class pattern. This generates an exception at runtime.
Updated typeshed stubs to the latest version.
Published 1.1.355
Bug Fixes:
Fixed a bug that results in incorrect type evaluation if a list expression includes a generator expression.
Fixed bug that results in a false negative when a TypeAliasType object is used in a class pattern.
Fixed bug that results in false positive when implicitly specializing a class parameterized by a TypeVarTuple when there is no default.
Fixed bug that results in false positive when a list or set expression is evaluated using bidirectional type inference when the expected type is MutableSet or MutableSequence.
Fixed bug that results in a false negative when overriding a method that has keyword parameters with a method that has a *args parameter.
Fixed a bug that results in a false positive error in certain circumstances involving a TypeVarTuple used within an overload.
Fixed bug that results in a false positive error when a base class defines a writable property and a subclass writes to the property.
Fixed bug that results in a false positive "overload implementation does not match overloads" diagnostic when positional-only and keyword-only parameters are involved.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps pyright from 1.1.350 to 1.1.357.
Release notes
Sourced from pyright's releases.
... (truncated)
Commits
8752be7
Published 1.1.3574106a09
Share heap usage numbers to support cache cleanup in VS code (#7605)9f02004
Published 1.1.356a2831b7
Published 1.1.3550a73f4b
Published 1.1.354114501e
Published 1.1.353ab40240
Drop support for node 12 (#7375)08397a0
Published 1.1.352bc2544c
Published 1.1.351b1bb82d
[PylanceBot] Pull Pylance with Pyright 1.1.350 (#7240)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show