Behavior Change: Exempted __new__ from parameter covariance check. This is consistent with __init__, which is already exempted from this check.
Bug Fix: Fixed a bug that resulted in a false negative when using an unparenthesized assignment expression in an assert statement. Also improved the error messages and parser recovery for incorrect use of a unparenthesized assignment expressions.
Bug Fix: Fixed a bug that resulted in a false positive when analyzing a call to an instance method that omits a self parameter and instead uses *args.
Enhancement: Improved error reporting for dict literal expressions that are assigned to TypedDict types. Previously, the entire dict literal was included in the error range. Now the range is limited to a specific dictionary entry if there is only one error.
Enhancement: Extended type narrowing support for x in y pattern where y is a tuple of known length that includes literal types. In this case, negative ("else") type narrowing can be applied if x is a union that includes literals.
Behavior Change: Increased the code complexity limit that controls whether pyright performs return type inference for functions that have no parameter type annotations. This can be quite expensive, and without parameter types, the results are often low quality. Beyond a certain point, we just skip the expensive analysis and infer a return type of Unknown. The previous limit was quite low. This increases the limit in an attempt to handle return type inference in more of these cases.
Enhancement: Added a missing check for a **kwargs parameter immediately after a keyword-only separator * parameter. This generates a compiler error in Python.
Enhancement: Updated typeshed stubs to the latest version.
Published 1.1.267
Bug Fix: Fixed bug that caused error to be suppressed when calling assert_never with bad arguments (incorrect number, etc).
Enhancement: Added support for dictionary expansion of a TypedDict within a dictionary literal expression.
Enhancement: Extended support for union expansion of constrained type variables when performing overload matching.
Bug Fix: Fixed a bug that resulted in different type evaluation behaviors depending on the order of callable types within a union.
Bug Fix: Fixed bug that resulted in a false positive error when the second argument to a type constructor call includes a tuple that includes a type class.
Bug Fix: Fixed a bug that resulted in incorrect type evaluation when a generic type alias consists solely of a type variable or a type variable wrapped in Annotated.
Bug Fix: Fixed bug in parser that resulted in crash when a soft keyword was used as a class pattern keyword argument name.
Bug Fix: Fixed a bug in the special-case logic that handles __all__.extend(<submodule>.__all__) so it better handles the case where <module> is imported using an import statement of the form from x import submodule.
Published 1.1.266
Bug Fix: Fixed a bug that caused a false positive error when using a list comprehension within a method that is overloaded to accept either a LiteralString or a str. The incorrect overload was chosen in some cases, picking the LiteralString variant rather than the str variant even though LiteralString variant generated type errors.
Bug Fix: Fixed a bug that caused incorrect type evaluation because of stale module paths that are cached for specific source files. Module paths are dependent on the list of configured import resolution paths, so when the import resolution paths change, we may need to recompute the module path for a source file.
Bug Fix: Fixed a bug that resulted in a false negative when a del statement targeted a symbol that was unbound (i.e. referenced before assigned) within a function.
Behavior Change: Changed behavior of assert_type to treat Any the same as Unknown for purposes of type comparison. There is no way to express an Any type explicitly in the Python type system because it is, by definition, an "implicit" Any.
Bug Fix: Fixed a bug that resulted in a false negative when evaluating binary operations that involve unions for either the LHS or RHS or both.
Bug Fix: Fixed bug that resulted in incorrect type evaluation when bidirectional type inference was used along with a type alias that was involved in a circular declaration.
Bug Fix: Fixed a bug that resulted in a false positive error when LiteralString was used as the base type in an index expression.
Behavior Change: Changed the --verifytypes command to skip docstring checks for overloads and for property setters and deleters.
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 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.261 to 1.1.268.
Release notes
Sourced from pyright's releases.
... (truncated)
Commits
f107f0f
Published 1.1.2684cfbc33
Published 1.1.267162406b
Published 1.1.26621a6a1b
Published 1.1.265.6fa755c
pull-pylance-with-pyright-1.1.264 (#3755)861dfbe
Published 1.1.2644b24c9e
Published 1.1.263e82d5f3
Published 1.1.262ea2e39b
Bump terser from 5.10.0 to 5.14.2 in /packages/pyright (#3723)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 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)