Fixed bug that results in a false positive when Union and Unpack are used outside of a type expression. Normal type expression rules should not be applied in this case.
Fixed bug that results in a false negative under certain circumstances when using PEP 695 syntax and a TypeVarTuple multiple times in a signature.
Added limiter to sequence pattern matching logic to prevent a combinatoric explosion when performing tuple expansion during narrowing.
Fixed bug that results in incorrect type narrowing on assignment if the narrowed type is Self or another bound type variable.
Fixed a bug that leads to a false negative when a class-scoped variable is annotated with a value-constrained type variable and assigned a default value with one of the value constraints.
Fixed bug that results in a false positive when using a traditional (non-PEP 695) TypeVar in a type expression and assigning to a TypeForm.
Fixed recent regression that caused false positive errors with protocol matching in certain circumstances.
Fixed bug that leads to a false positive when a callable object uses a Callable type annotation for the self parameter in its own __call__ method.
Fixed a bug that results in the inability to rename a NamedTuple field.
Fixed a bug that results in incorrect type evaluation when the type of a dataclass field is declared with a type variable but its default value is concrete.
Enhancements:
Enhanced isinstance narrowing logic to retain type arguments in cases where the filter type (the second argument) is a child of the un-narrowed type and the child has a type parameter that is used multiple times in its base class (e.g. Child[T](https://github.com/Microsoft/pyright/tree/HEAD/packages/pyright/blob/HEAD/Parent[T, T])).
Improved determinism of type evaluations involving unions of literal by taking into consideration literal values when sorting subtypes.
Updated typeshed stubs to the latest version.
Added support for *args: Unpack[T] when T is a type variable with an upper bound of a tuple.
Behavior Changes:
Removed provisional support for PEP 746 because the PEP has been modified, and there is disagreement about the best approach.
Changed the default python version from 3.12 to 3.13, now that 3.13 is the latest stable release.
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.383 to 1.1.384.
Release notes
Sourced from pyright's releases.
Commits
04f9c37
Published 1.1.384Dependabot 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