sublimelsp / LSP-pyright

Python support for Sublime's LSP plugin provided through microsoft/pyright.
MIT License
126 stars 13 forks source link

chore(deps): bump pyright from 1.1.372 to 1.1.373 in /language-server #345

Closed dependabot[bot] closed 1 month ago

dependabot[bot] commented 1 month ago

Bumps pyright from 1.1.372 to 1.1.373.

Release notes

Sourced from pyright's releases.

Published 1.1.373

Bug Fixes:

  • Fixed regression that results in a false positive when an Annotated type is used in a type argument within a specialized type on the LHS of a call expression, such as list[Annotated[int, ""]]().
  • Fixed a bug that results in incorrect type evaluation in certain edge cases involving bidirectional type inference with TypeVarTuples.
  • Fixed a bug that results in a false positive error when using bidirectional type inference for a call expression where the expected type is a union.
  • Added the distinction between "external" versus "internal" type variable scopes. This is important for generic class implementations that call their own constructors.
  • Fixed a bug that results in incorrect type narrowing when using TypeIs form when the return type of the type guard function is a specialized generic class.
  • Fixed bug that results in a false positive "overlapping overload" diagnostic when the later overload includes a callback function with a TypeVar in a parameter type.
  • Fixed bug that resulted in an infinite loop when evaluating a call that passes the same call as an argument. Simplified tracking of unique signatures within the code.
  • Fixed a bug that can cause a hang during type analysis for complex code with loops. There are rare circumstances that can cause types not to converge due to symbol dependencies and unstable overload resolution. This change adds a hard limit on the number of attempts to converge types in a loop before giving up.
  • Fixed a bug that results in false negatives in certain cases involving bidirectional type inference for constructor calls.
  • Fixed issues with the reportInconsistentConstructor. It produced false negatives in some cases and produced bad error messages in other cases.
  • Fixed bug that results in a crash if an explicit specialization of a class parameterized by a ParamSpec has zero type arguments. This is a syntax error, but it shouldn't cause the type evaluator to crash.

Behavior Changes:

  • Changed all diagnostic generated in the type evaluator to have a diagnostic rule associated with them so their severity is under user control.
  • Changed internal behavior to retain type alias information when applying solved type variables for a type. This doesn't change type checking behaviors, but it changes language server output (e.g. hover text) in some cases. It can also affect diagnostic messages.

Enhancements:

  • Added provisional support for draft PEP 736 (keyword argument shortcut syntax).
  • Added check for class attribute type declarations that use method-bound type variables. These should be illegal.
  • Improved type evaluation for tuples index expressions with negative subscripts and an entry with an indeterminate length.
  • Made support for "converter" parameter in dataclass_transform fields non-experimental. This functionality has been approved by the typing council.
  • Added support for bidirectional type inference for __extra_types__ in a closed TypedDict.
  • Updated typeshed stubs to the latest version.
  • Added support for auto-synthesized __replace__ method in dataclass and namedtuple classes, a new feature in Python 3.13.
Commits


Dependabot compatibility score

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)
github-actions[bot] commented 1 month ago

Following are the schema changes in the new version. Make sure that those are reflected in LSP-pyright.sublime-settings and sublime-package.json files.

No updates done to sublime-package.json.