Fixed bug that leads to a false negative when passing multiple *args or **kwargs arguments to a callable parameterized by a ParamSpec.
Fixed issue that results in a false positive "type could not be determined because it refers to itself" error caused by a false dependency due to narrowing logic. This may also improve type analysis performance in some code.
Switched to a different toml parser to avoid incompatibility with the latest toml standard.
Changed the evaluated type of an in or not in operator to be bool if the LHS doesn't support containment. Previously, the expression evaluated to Never.
Fixed a bug that results in a false positive when a class parameterized by a TypeVarTuple is used in conjunction with a Self type.
Fixed bug that results in incorrect type evaluation when performing protocol matching that involves an attribute with a callable type parameterized by a ParamSpec.
Added protection for an internal call stack overflow when inferring return types in deep call hierarchies within untyped code.
Fixed a false positive "incompatible method override" error in a case that involves both class-scoped and method-scoped type variables.
Fix recent regression that broke hover text on .get() of TypedDict instance.
Fixed a bug that causes a false positive error when a class uses type(Protocol) as a base class.
Enhancements:
Enhanced type narrowing logic for "x == " type guard pattern to handle the case where x is a type variable with a literal upper bound or value constraints that are literals.
Improved detection of asymmetric descriptors to handle the case where the __set__ and __get__ methods are overloaded.
Added experimental support for draft PEP 764: Inlined typed dictionaries.
Changed check in the pyright VS Code extension for the presence of Pylance. If Pylance is installed in the workspace but is not configured to be loaded (i.e. the "python.languageServer" is set to "None"), then pyright will allow itself to be loaded.
Published 1.1.386
Bug Fixes:
Fixed issue that results in non-deterministic false positive error, often relating to the "awaitable" check.
Fixed bug that results in a false positive error when using a traditional generic type alias defined with a "naked" type variable surrounded by Annotated within a Python 3.12 type statement.
Fixed a bug that leads to a false positive when using asssert_type with a **kwargs parameter that is annotated with an unpacked TypedDict.
Fixed recent regression that results in a spurious type error when accessing an instance variable self.x if x has the type of a class-scoped type variable with a default value.
Fixed a recent regression that results in false positive errors under certain circumstances that involve assignability checks for two callables that involve a *args: *tuple[] parameter.
Fixed bug that results in a false positive when resolving a multi-part import target that involves a circular dependency.
Fixed regression that results in a false positive error (and an error that is reported at a bogus location) when overriding a dataclass field with a converter.
Fixed bug in constraint solver that resulted in behavior that differed depending on the order of methods in a protocol.
Fixed a bug that results in a spurious error when specializing an old-style generic type alias whose type is defined as a new-style type alias that has multiple type parameters, only some of which are used in its type definition.
Fixed bug that leads to incorrect type narrowing in the negative ("else") case when using isinstance with a filter type that is typed as type[X].
Fixed bug that results in a false negative when the specialization of a ParamSpec results in a signature that has a duplicate parameter name where one parameter has a default value and the other does not.
Enhancements:
Added a limit to the number of typed declarations that will be evaluated for a single symbol. This mitigates performance issues with code that redeclares a symbol hundreds or thousands of times.
Updated support for "closed" TypedDict to match latest updates to PEP 728.
Enhanced the type(y) == x type guard logic to support the case where y is declared as a type variable with an upper bound that overlaps with the type of x.
Updated typeshed stubs to the latest version.
Updated toml parser library to support toml 1.0.0 syntax.
Removed the limitation that the "ignore" setting in a config file must be relative to the project root.
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.385 to 1.1.387.
Release notes
Sourced from pyright's releases.
Commits
5006323
Published 1.1.387c03e064
Published 1.1.386Dependabot 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