Skip to content

Sync typeshed #16121

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Sep 16, 2023
Merged

Sync typeshed #16121

merged 6 commits into from
Sep 16, 2023

Conversation

AlexWaygood
Copy link
Member

@AlexWaygood AlexWaygood commented Sep 15, 2023

The automated workflow failed last night: https://github.com/python/mypy/actions/runs/6192138757

The reason for the merge conflict was python/typeshed@f0a7993

Source commit: python/typeshed@0ea0432

⚠️ Remember to use "rebase and merge" rather than "squash and merge" for this PR, so that we can easily update the commit hashes to cherry-pick in the misc/sync-typeshed.py script. ⚠️

AlexWaygood and others added 6 commits September 15, 2023 20:36
This is allegedly causing large performance problems, see 13821

typeshed/8231 had zero hits on mypy_primer, so it's not the worst thing
to undo. Patching this in typeshed also feels weird, since there's a
more general soundness issue. If a typevar has a bound or constraint, we
might not want to solve it to a Literal.

If we can confirm the performance regression or fix the unsoundness
within mypy, I might pursue upstreaming this in typeshed.

(Reminder: add this to the sync_typeshed script once merged)
Since the plugin provides superior type checking: python#13987 (comment)
A manual cherry-pick of e437cdf.
@github-actions
Copy link
Contributor

Diff from mypy_primer, showing the effect of this PR on open source code:

AutoSplit (https://github.com/Toufool/AutoSplit)
+ src/utils.py:104:26: error: Redundant cast to "int"  [redundant-cast]
+ src/utils.py:105:25: error: Redundant cast to "int"  [redundant-cast]
+ src/utils.py:106:20: error: Redundant cast to "int"  [redundant-cast]
+ src/utils.py:107:21: error: Redundant cast to "int"  [redundant-cast]

mypy (https://github.com/python/mypy)
+ mypy/stubtest.py:1689: error: Non-overlapping container check (element type: "str", container item type: "Path")  [comparison-overlap]
+ mypy/stubtest.py:1689: note: See https://mypy.rtfd.io/en/stable/_refs.html#code-comparison-overlap for more info

aiohttp (https://github.com/aio-libs/aiohttp)
+ aiohttp/helpers.py:942:24: error: "SimpleCookie" expects no type arguments, but 1 given  [type-arg]
+ aiohttp/helpers.py:942:24: note: Error code "type-arg" not covered by "type: ignore" comment
+ aiohttp/helpers.py:942:24: note: See https://mypy.rtfd.io/en/stable/_refs.html#code-type-arg for more info
+ aiohttp/helpers.py:945:26: error: "SimpleCookie" expects no type arguments, but 1 given  [type-arg]
+ aiohttp/helpers.py:1028:43: error: "SimpleCookie" expects no type arguments, but 1 given  [type-arg]
+ aiohttp/cookiejar.py:66:53: error: "SimpleCookie" expects no type arguments, but 1 given  [type-arg]
+ aiohttp/cookiejar.py:169:22: error: "SimpleCookie" expects no type arguments, but 1 given  [type-arg]
+ aiohttp/cookiejar.py:235:35: error: "SimpleCookie" expects no type arguments, but 1 given  [type-arg]
+ aiohttp/cookiejar.py:246:25: error: "SimpleCookie" expects no type arguments, but 1 given  [type-arg]
+ aiohttp/connector.py:228:23: error: "SimpleCookie" expects no type arguments, but 1 given  [type-arg]
+ aiohttp/client_reqrep.py:377:12: error: "SimpleCookie" expects no type arguments, but 1 given  [type-arg]
+ aiohttp/client_reqrep.py:710:23: error: "SimpleCookie" expects no type arguments, but 1 given  [type-arg]
+ aiohttp/web_request.py:574:17: error: "SimpleCookie" expects no type arguments, but 1 given  [type-arg]

mkosi (https://github.com/systemd/mkosi)
+ mkosi/run.py:177:11: error: No overload variant of "__or__" of "dict" matches argument type "Mapping[str, str]"  [operator]
+ mkosi/run.py:177:11: note: Possible overload variants:
+ mkosi/run.py:177:11: note:     def __or__(self, dict[str, str], /) -> dict[str, str]
+ mkosi/run.py:177:11: note:     def [_T1, _T2] __or__(self, dict[_T1, _T2], /) -> dict[Union[str, _T1], Union[str, _T2]]
+ mkosi/kmod.py:32:16: error: Non-overlapping container check (element type: "str", container item type: "Path")  [comparison-overlap]
+ mkosi/config.py:2051:8: error: Non-overlapping equality check (left operand type: "Optional[Path]", right operand type: "Literal['']")  [comparison-overlap]

starlette (https://github.com/encode/starlette)
+ tests/test_responses.py:347: error: "SimpleCookie" expects no type arguments, but 1 given  [type-arg]

@AlexWaygood
Copy link
Member Author

AlexWaygood commented Sep 15, 2023

@hauntsaninja hauntsaninja merged commit ec665cc into python:master Sep 16, 2023
@hauntsaninja
Copy link
Collaborator

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants