* Upgrade pyright to 1.1.230
* Add `type: ignore`s for new pyright checks regarding multiple inheritance
* Temporarily pin pyright-action to 1.0.4, as changes made in 1.0.5 break typeshed's CI
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
This is consistent with the runtime definition: https://github.com/python/cpython/blob/main/Lib/typing.py#L434.
The previous definition was wrong; NoReturn is not and should not be equivalent to None. This fixes an issue in pyanalyze where it was interpreting NoReturn as equivalent to None.
* Updated pyright version to 1.1.160. Older versions contained a bug that prevented multiple third-party stub packages from having the same top-level module name.
* Disabled "reportUnsupportedDunderAll" diagnostic check for now.
Co-authored-by: Eric Traut <erictr@microsoft.com>
I recently published https://github.com/marketplace/actions/run-pyright, which wraps pyright and uses GHA magic to leave diagnostics on commits / PRs (like https://github.com/jakebailey/pyright-action-test/pull/1/files), plus a faster startup time thanks to GHA tool caching and piggy backing off of the `node` install used in GHA itself (so no `setup-node` needed).
This PR switches to that action and leaves a comment noting that the version number is pinned in two places.
This action is a prototype, but I'm pretty confident in it so far.
Update pyright CI test to use the latest version of pyright (1.1.118). Enable all but one of pyright's strictest checks. Add a "# type: ignore" to `__new__` method in `weakref.KeyRef` because it uses a non-standard name for the `cls` parameter, which is flagged as an error by pyright.
Co-authored-by: Eric Traut <erictr@microsoft.com>