Title: More specific inline dict type inference can fail on 1.17.0 · Issue #19474 · python/mypy · GitHub
Open Graph Title: More specific inline dict type inference can fail on 1.17.0 · Issue #19474 · python/mypy
X Title: More specific inline dict type inference can fail on 1.17.0 · Issue #19474 · python/mypy
Description: Bug Report More specific inline dict type inference can fail on 1.17.0. To Reproduce The following fails on 1.17.0 but is fine on 1.16.1 (the playground link uses master as 1.17.0 isn't available there): https://mypy-play.net/?mypy=maste...
Open Graph Description: Bug Report More specific inline dict type inference can fail on 1.17.0. To Reproduce The following fails on 1.17.0 but is fine on 1.16.1 (the playground link uses master as 1.17.0 isn't available t...
X Description: Bug Report More specific inline dict type inference can fail on 1.17.0. To Reproduce The following fails on 1.17.0 but is fine on 1.16.1 (the playground link uses master as 1.17.0 isn't availab...
Opengraph URL: https://github.com/python/mypy/issues/19474
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"More specific inline dict type inference can fail on 1.17.0","articleBody":"\u003c!--\nIf you're not sure whether what you're experiencing is a mypy bug, please see the \"Question and Help\" form instead.\nPlease consider:\n\n- checking our common issues page: https://mypy.readthedocs.io/en/stable/common_issues.html\n- searching our issue tracker: https://github.com/python/mypy/issues to see if it's already been reported\n- asking on gitter chat: https://gitter.im/python/typing\n--\u003e\n\n**Bug Report**\n\n\u003c!--\nIf you're reporting a problem with a specific library function, the typeshed tracker is better suited for this report: https://github.com/python/typeshed/issues\n\nIf the project you encountered the issue in is open source, please provide a link to the project.\n--\u003e\n\nMore specific inline dict type inference can fail on 1.17.0.\n\n**To Reproduce**\n\nThe following fails on 1.17.0 but is fine on 1.16.1 (the playground link uses master as 1.17.0 isn't available there):\nhttps://mypy-play.net/?mypy=master\u0026python=3.13\u0026gist=7e77b89fe5f9cb7e548c4ef83b3783c1\n\nRevealing the type for the inline dict gives:\n* 1.16.1: `builtins.dict[builtins.str, Union[typing.Collection[builtins.str], None]]`\n* 1.17.0: `builtins.dict[builtins.str, builtins.dict[builtins.str, builtins.list[Any] | None] | builtins.dict[builtins.str, builtins.str] | builtins.str | None]`\n\n**Expected Behavior**\n\n\u003c!--\nHow did you expect mypy to behave? It’s fine if you’re not sure your understanding is correct.\nWrite down what you thought would happen. If you expected no errors, delete this section.\n--\u003e\n\nNo mypy errors.\n\n**Actual Behavior**\n\n```\nmain.py:11: error: Dict entry 0 has incompatible type \"str\": \"None\"; expected \"str\": \"str\" [dict-item]\nmain.py:12: error: Dict entry 1 has incompatible type \"str\": \"list[Never]\"; expected \"str\": \"str\" [dict-item]\nFound 2 errors in 1 file (checked 1 source file)\n```\n\n**Your Environment**\n\n\u003c!-- Include as many relevant details about the environment you experienced the bug in --\u003e\n\n- Mypy version used: 1.17.0\n- Mypy command-line flags: N/A\n- Mypy configuration options from `mypy.ini` (and other config files): N/A\n- Python version used: 3.13.5\n\n\u003c!-- You can freely edit this text, please remove all the lines you believe are unnecessary. --\u003e\n","author":{"url":"https://github.com/markhobson","@type":"Person","name":"markhobson"},"datePublished":"2025-07-17T14:37:37.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":2},"url":"https://github.com/19474/mypy/issues/19474"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:096f918d-258a-a815-75ad-e6fde6253b8b |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 8BFE:30460E:168E7C7:1CE50CE:6A5C542E |
| html-safe-nonce | 07403808af814430ab961d723621011b8dba453db4a10cc5f85a1f716fefcd46 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4QkZFOjMwNDYwRToxNjhFN0M3OjFDRTUwQ0U6NkE1QzU0MkUiLCJ2aXNpdG9yX2lkIjoiNTE2MjY1OTQxMzI1ODYxOTM0IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 34b38eed885decd318bb71cf02bef033eb0326eec554acf20046d69f4a96751b |
| hovercard-subject-tag | issue:3239839494 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/python/mypy/19474/issue_layout |
| twitter:image | https://opengraph.githubassets.com/c50099957053667f582456ab7de99ae6ab6498a0dcca379eaedb353b8c637c3f/python/mypy/issues/19474 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/c50099957053667f582456ab7de99ae6ab6498a0dcca379eaedb353b8c637c3f/python/mypy/issues/19474 |
| og:image:alt | Bug Report More specific inline dict type inference can fail on 1.17.0. To Reproduce The following fails on 1.17.0 but is fine on 1.16.1 (the playground link uses master as 1.17.0 isn't available t... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | markhobson |
| hostname | github.com |
| expected-hostname | github.com |
| None | 5290d7e14309ad1e76106a9c4237bd1041517e83ea182c8ab756752cb0c6940b |
| turbo-cache-control | no-preview |
| go-import | github.com/python/mypy git https://github.com/python/mypy.git |
| octolytics-dimension-user_id | 1525981 |
| octolytics-dimension-user_login | python |
| octolytics-dimension-repository_id | 7053637 |
| octolytics-dimension-repository_nwo | python/mypy |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 7053637 |
| octolytics-dimension-repository_network_root_nwo | python/mypy |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 9c975978430e9ad293956f2bbdaf153b1bd84a99 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width