(from Pylance): Fixed a bug that caused a crash under certain circumstances when an import cannot be resolved.
Fixed non-compliance issue with TypeIs, which is documented to have an invariant type parameter.
Fixed a bug that results in incorrect type evaluation when a sequence pattern in a match statement includes a * element and the subject includes a tuple with an element with indeterminate length.
Fixed bug that results in an intermittent false positive "circular dependency" error for fields within a dataclass.
Fixed a bug that results in a false positive error under certain circumstances when a TypeVar or TypeVarTuple is being solved with literal values in both an invariant and non-invariant context.
Fixed bug that results in incorrect type evaluation in cases where a generic function returns a callable, and the function is called with a higher-order generic function as an argument.
Fixed a bug that results in a false negative when a generic function returns a Callable type that is specialized to include a live (in-scope) type variable.
Fixed bug that results in inconsistent type narrowing on assignment based on whether the assignment occurs within the same statement that includes the (declared) type annotation for the variable and whether the type annotation is provided as a type comment.
Enhancements:
Added optimization for TypedDict type assignments. Under certain circumstances (e.g. when comparing large unions of TypedDict types), this can save significant time.
Modified the handling of enum class attributes so those with private (mangled) names are exempted from being considered enum members. This reflects the runtime behavior.
Added support for narrowing of subject subexpression within a match statement for references to the subexpression after the completion of the match statement.
Updated typeshed stubs to the latest version.
Improved error handling for quoted annotations. Bytes, raw strings, and f-strings are not allowed according to the typing spec.
Added an error message for a Literal type annotation that includes a string with a named unicode escape sequence. These are not supported.
Published 1.1.357
Bug Fixes:
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.
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.358.
Release notes
Sourced from pyright's releases.
... (truncated)
Commits
989ee29
Published 1.1.3588752be7
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.351Dependabot 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