| route-pattern | /_view_fragments/voltron/pull_requests/show/:user_id/:repository/:id/pull_request_layout(.:format) |
| route-controller | voltron_pull_requests_fragments |
| route-action | pull_request_layout |
| fetch-nonce | v2:862caebe-1d01-0686-0508-eb9285972f88 |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | 9834:268E8A:345681:497DC8:696A4D7D |
| html-safe-nonce | a06f9ceb3d574312e5d8278afbc42a604f16e9f7d664d77919415d3c430fe983 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5ODM0OjI2OEU4QTozNDU2ODE6NDk3REM4OjY5NkE0RDdEIiwidmlzaXRvcl9pZCI6IjI3ODEwNTE3Nzc1OTMyNjU1MzQiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 3831497e58edc2a966668d4a133975056062daaf3beead51babb98fb7b6d3080 |
| hovercard-subject-tag | pull_request:3174840142 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | ///voltron/pull_requests_fragments/pull_request_layout |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/voltron/pull_requests/show/python/cpython/143848/pull_request_layout |
| twitter:image | https://opengraph.githubassets.com/4c37c698b6f5231855c83dd7927d90398a0b5b0ce70e21bc71eb52affc6fd615/python/cpython/pull/143848 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/4c37c698b6f5231855c83dd7927d90398a0b5b0ce70e21bc71eb52affc6fd615/python/cpython/pull/143848 |
| og:image:alt | Cells are mutable and, in regular comparison, they are equal when their contents are equal (or if both are empty).
Two different cells should not be considered equal by value in forward references,... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | johnslavik |
| hostname | github.com |
| expected-hostname | github.com |
| None | 3f871c8e07f0ae1886fa8dac284166d28b09ad5bada6476fc10b674e489788ef |
| turbo-cache-control | no-preview |
| go-import | github.com/python/cpython git https://github.com/python/cpython.git |
| octolytics-dimension-user_id | 1525981 |
| octolytics-dimension-user_login | python |
| octolytics-dimension-repository_id | 81598961 |
| octolytics-dimension-repository_nwo | python/cpython |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 81598961 |
| octolytics-dimension-repository_network_root_nwo | python/cpython |
| 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 | 63c426b30d262aba269ef14c40e3c817b384cd61 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
| Skip to content | https://github.com/python/cpython/pull/143848#start-of-content |
|
| https://github.com/ |
|
Sign in
| https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F143848 |
| GitHub CopilotWrite better code with AI | https://github.com/features/copilot |
| GitHub SparkBuild and deploy intelligent apps | https://github.com/features/spark |
| GitHub ModelsManage and compare prompts | https://github.com/features/models |
| MCP RegistryNewIntegrate external tools | https://github.com/mcp |
| ActionsAutomate any workflow | https://github.com/features/actions |
| CodespacesInstant dev environments | https://github.com/features/codespaces |
| IssuesPlan and track work | https://github.com/features/issues |
| Code ReviewManage code changes | https://github.com/features/code-review |
| GitHub Advanced SecurityFind and fix vulnerabilities | https://github.com/security/advanced-security |
| Code securitySecure your code as you build | https://github.com/security/advanced-security/code-security |
| Secret protectionStop leaks before they start | https://github.com/security/advanced-security/secret-protection |
| Why GitHub | https://github.com/why-github |
| Documentation | https://docs.github.com |
| Blog | https://github.blog |
| Changelog | https://github.blog/changelog |
| Marketplace | https://github.com/marketplace |
| View all features | https://github.com/features |
| Enterprises | https://github.com/enterprise |
| Small and medium teams | https://github.com/team |
| Startups | https://github.com/enterprise/startups |
| Nonprofits | https://github.com/solutions/industry/nonprofits |
| App Modernization | https://github.com/solutions/use-case/app-modernization |
| DevSecOps | https://github.com/solutions/use-case/devsecops |
| DevOps | https://github.com/solutions/use-case/devops |
| CI/CD | https://github.com/solutions/use-case/ci-cd |
| View all use cases | https://github.com/solutions/use-case |
| Healthcare | https://github.com/solutions/industry/healthcare |
| Financial services | https://github.com/solutions/industry/financial-services |
| Manufacturing | https://github.com/solutions/industry/manufacturing |
| Government | https://github.com/solutions/industry/government |
| View all industries | https://github.com/solutions/industry |
| View all solutions | https://github.com/solutions |
| AI | https://github.com/resources/articles?topic=ai |
| Software Development | https://github.com/resources/articles?topic=software-development |
| DevOps | https://github.com/resources/articles?topic=devops |
| Security | https://github.com/resources/articles?topic=security |
| View all topics | https://github.com/resources/articles |
| Customer stories | https://github.com/customer-stories |
| Events & webinars | https://github.com/resources/events |
| Ebooks & reports | https://github.com/resources/whitepapers |
| Business insights | https://github.com/solutions/executive-insights |
| GitHub Skills | https://skills.github.com |
| Documentation | https://docs.github.com |
| Customer support | https://support.github.com |
| Community forum | https://github.com/orgs/community/discussions |
| Trust center | https://github.com/trust-center |
| Partners | https://github.com/partners |
| GitHub SponsorsFund open source developers | https://github.com/sponsors |
| Security Lab | https://securitylab.github.com |
| Maintainer Community | https://maintainers.github.com |
| Accelerator | https://github.com/accelerator |
| Archive Program | https://archiveprogram.github.com |
| Topics | https://github.com/topics |
| Trending | https://github.com/trending |
| Collections | https://github.com/collections |
| Enterprise platformAI-powered developer platform | https://github.com/enterprise |
| GitHub Advanced SecurityEnterprise-grade security features | https://github.com/security/advanced-security |
| Copilot for BusinessEnterprise-grade AI features | https://github.com/features/copilot/copilot-business |
| Premium SupportEnterprise-grade 24/7 support | https://github.com/premium-support |
| Pricing | https://github.com/pricing |
| Search syntax tips | https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax |
| documentation | https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax |
|
Sign in
| https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F143848 |
|
Sign up
| https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fpull_requests_fragments%2Fpull_request_layout&source=header-repo&source_repo=python%2Fcpython |
| Reload | https://github.com/python/cpython/pull/143848 |
| Reload | https://github.com/python/cpython/pull/143848 |
| Reload | https://github.com/python/cpython/pull/143848 |
|
python
| https://github.com/python |
| cpython | https://github.com/python/cpython |
| Please reload this page | https://github.com/python/cpython/pull/143848 |
|
Notifications
| https://github.com/login?return_to=%2Fpython%2Fcpython |
|
Fork
33.9k
| https://github.com/login?return_to=%2Fpython%2Fcpython |
|
Star
71.1k
| https://github.com/login?return_to=%2Fpython%2Fcpython |
|
Code
| https://github.com/python/cpython |
|
Issues
5k+
| https://github.com/python/cpython/issues |
|
Pull requests
2.1k
| https://github.com/python/cpython/pulls |
|
Actions
| https://github.com/python/cpython/actions |
|
Projects
31
| https://github.com/python/cpython/projects |
|
Security
Uh oh!
There was an error while loading. Please reload this page.
| https://github.com/python/cpython/security |
| Please reload this page | https://github.com/python/cpython/pull/143848 |
|
Insights
| https://github.com/python/cpython/pulse |
|
Code
| https://github.com/python/cpython |
|
Issues
| https://github.com/python/cpython/issues |
|
Pull requests
| https://github.com/python/cpython/pulls |
|
Actions
| https://github.com/python/cpython/actions |
|
Projects
| https://github.com/python/cpython/projects |
|
Security
| https://github.com/python/cpython/security |
|
Insights
| https://github.com/python/cpython/pulse |
| Sign up for GitHub
| https://github.com/signup?return_to=%2Fpython%2Fcpython%2Fissues%2Fnew%2Fchoose |
| terms of service | https://docs.github.com/terms |
| privacy statement | https://docs.github.com/privacy |
| Sign in | https://github.com/login?return_to=%2Fpython%2Fcpython%2Fissues%2Fnew%2Fchoose |
| Jump to bottom | https://github.com/python/cpython/pull/143848#issue-comment-box |
| johnslavik | https://github.com/johnslavik |
| python:main | https://github.com/python/cpython/tree/main |
| johnslavik:fix-forwardrefs-dont-hash-cells | https://github.com/johnslavik/cpython/tree/fix-forwardrefs-dont-hash-cells |
|
gh-143831: Compare cells by identity in forward references
| https://github.com/python/cpython/pull/143848#top |
| johnslavik | https://github.com/johnslavik |
| python:main | https://github.com/python/cpython/tree/main |
| johnslavik:fix-forwardrefs-dont-hash-cells | https://github.com/johnslavik/cpython/tree/fix-forwardrefs-dont-hash-cells |
|
Conversation
9
| https://github.com/python/cpython/pull/143848 |
|
Commits
12
| https://github.com/python/cpython/pull/143848/commits |
|
Checks
43
| https://github.com/python/cpython/pull/143848/checks |
|
Files changed
3
| https://github.com/python/cpython/pull/143848/files |
| https://github.co/hiddenchars |
| https://github.com/python/cpython/pull/{{ revealButtonHref }} |
|
| https://github.com/johnslavik |
| johnslavik | https://github.com/johnslavik |
| Jan 14, 2026 | https://github.com/python/cpython/pull/143848#issue-3814699467 |
| Please reload this page | https://github.com/python/cpython/pull/143848 |
| Python 3.14.1+ annotationlib regression: ForwardRef.__hash__ raises TypeError: unhashable type: 'cell' #143831 | https://github.com/python/cpython/issues/143831 |
| Please reload this page | https://github.com/python/cpython/pull/143848 |
|
| https://github.com/johnslavik |
| Hash and compare cells by identity | https://github.com/python/cpython/pull/143848/commits/55e07ae86be204569f1a6ffbce095b5a15f1e788 |
| 55e07ae | https://github.com/python/cpython/pull/143848/commits/55e07ae86be204569f1a6ffbce095b5a15f1e788 |
| https://github.com/johnslavik |
| johnslavik | https://github.com/johnslavik |
|
needs backport to 3.14
| https://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22needs%20backport%20to%203.14%22 |
| Jan 14, 2026 | https://github.com/python/cpython/pull/143848#event-22052379379 |
| https://github.com/apps/bedevere-app |
| bedevere-app | https://github.com/apps/bedevere-app |
|
Jan 14, 2026
| https://github.com/python/cpython/pull/143848#ref-issue-3812574750 |
|
Python 3.14.1+ annotationlib regression: ForwardRef.__hash__ raises TypeError: unhashable type: 'cell'
#143831
| https://github.com/python/cpython/issues/143831 |
| https://github.com/abhinand-c |
| abhinand-c | https://github.com/abhinand-c |
|
Jan 15, 2026
| https://github.com/python/cpython/pull/143848#pullrequestreview-3664037692 |
|
View reviewed changes
| https://github.com/python/cpython/pull/143848/files/55e07ae86be204569f1a6ffbce095b5a15f1e788 |
| Lib/annotationlib.py | https://github.com/python/cpython/pull/143848/files/55e07ae86be204569f1a6ffbce095b5a15f1e788#diff-55449988e121f54fcc768a9fef3619f9209ae218260193de8f44bef68e13c583 |
| Please reload this page | https://github.com/python/cpython/pull/143848 |
| https://github.com/abhinand-c |
| abhinand-c | https://github.com/abhinand-c |
|
Jan 15, 2026
| https://github.com/python/cpython/pull/143848#ref-issue-3807674934 |
|
[Bug] CPython 3.14.2 + PEP 649 annotationlib.ForwardRef + PEP 484 self-reference = TypeError: unhashable type: 'cell' 😨
beartype/beartype#610
| https://github.com/beartype/beartype/issues/610 |
| https://github.com/leycec |
| Sign in to view | https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F143848 |
| https://github.com/johnslavik |
| johnslavik | https://github.com/johnslavik |
| Jan 15, 2026 | https://github.com/python/cpython/pull/143848#issuecomment-3753256933 |
| Please reload this page | https://github.com/python/cpython/pull/143848 |
| @JelleZijlstra | https://github.com/JelleZijlstra |
| Please reload this page | https://github.com/python/cpython/pull/143848 |
| https://github.com/JelleZijlstra |
| JelleZijlstra | https://github.com/JelleZijlstra |
|
Jan 15, 2026
| https://github.com/python/cpython/pull/143848#pullrequestreview-3667057967 |
|
View reviewed changes
| https://github.com/python/cpython/pull/143848/files/55e07ae86be204569f1a6ffbce095b5a15f1e788 |
| Lib/annotationlib.py | https://github.com/python/cpython/pull/143848/files/55e07ae86be204569f1a6ffbce095b5a15f1e788#diff-55449988e121f54fcc768a9fef3619f9209ae218260193de8f44bef68e13c583 |
| Please reload this page | https://github.com/python/cpython/pull/143848 |
| https://github.com/JelleZijlstra |
| JelleZijlstra | https://github.com/JelleZijlstra |
| Jan 15, 2026 | https://github.com/python/cpython/pull/143848#issuecomment-3756343302 |
| Please reload this page | https://github.com/python/cpython/pull/143848 |
| johnslavik | https://github.com/johnslavik |
| January 15, 2026 21:19 | https://github.com/python/cpython/pull/143848#commits-pushed-9194bbf |
|
| https://github.com/johnslavik |
| Merge branch 'main' into fix-forwardrefs-dont-hash-cells | https://github.com/python/cpython/pull/143848/commits/9194bbf34429799f573c7c5b64de08fc2e1ede29 |
| 9194bbf | https://github.com/python/cpython/pull/143848/commits/9194bbf34429799f573c7c5b64de08fc2e1ede29 |
|
| https://github.com/johnslavik |
| Use appropriate semantics in __eq__ | https://github.com/python/cpython/pull/143848/commits/ff81d6a838d17e3a33100069dd48bfba5ceb2cf6 |
| ff81d6a | https://github.com/python/cpython/pull/143848/commits/ff81d6a838d17e3a33100069dd48bfba5ceb2cf6 |
| https://github.com/johnslavik |
| johnslavik | https://github.com/johnslavik |
| force-pushed | https://github.com/python/cpython/compare/973643e2f7b72778c77f5aacc6cdf17241402085..9f5f3c1880fd080c2ad82be49247eba16048321d |
| 973643e | https://github.com/python/cpython/commit/973643e2f7b72778c77f5aacc6cdf17241402085 |
| 9f5f3c1 | https://github.com/python/cpython/commit/9f5f3c1880fd080c2ad82be49247eba16048321d |
|
Compare
| https://github.com/python/cpython/compare/973643e2f7b72778c77f5aacc6cdf17241402085..9f5f3c1880fd080c2ad82be49247eba16048321d |
| January 16, 2026 05:04 | https://github.com/python/cpython/pull/143848#event-22086319278 |
|
| https://github.com/johnslavik |
| Add base test | https://github.com/python/cpython/pull/143848/commits/6c36442fbd9e49e2f9b717d5ce4e069e5df5e43b |
| 6c36442 | https://github.com/python/cpython/pull/143848/commits/6c36442fbd9e49e2f9b717d5ce4e069e5df5e43b |
| https://github.com/johnslavik |
| johnslavik | https://github.com/johnslavik |
| force-pushed | https://github.com/python/cpython/compare/9f5f3c1880fd080c2ad82be49247eba16048321d..6c36442fbd9e49e2f9b717d5ce4e069e5df5e43b |
| 9f5f3c1 | https://github.com/python/cpython/commit/9f5f3c1880fd080c2ad82be49247eba16048321d |
| 6c36442 | https://github.com/python/cpython/commit/6c36442fbd9e49e2f9b717d5ce4e069e5df5e43b |
|
Compare
| https://github.com/python/cpython/compare/9f5f3c1880fd080c2ad82be49247eba16048321d..6c36442fbd9e49e2f9b717d5ce4e069e5df5e43b |
| January 16, 2026 05:04 | https://github.com/python/cpython/pull/143848#event-22086323636 |
| johnslavik | https://github.com/johnslavik |
| January 16, 2026 06:18 | https://github.com/python/cpython/pull/143848#commits-pushed-d8f5bc8 |
|
| https://github.com/johnslavik |
| Test two paths | https://github.com/python/cpython/pull/143848/commits/d8f5bc8a6816c3ea6c2a8f9df2d7acddbc738f23 |
| d8f5bc8 | https://github.com/python/cpython/pull/143848/commits/d8f5bc8a6816c3ea6c2a8f9df2d7acddbc738f23 |
|
| https://github.com/johnslavik |
| Simplify first self-test | https://github.com/python/cpython/pull/143848/commits/348127fe4b92583e84eb39d78d565b5d0beee630 |
| 348127f | https://github.com/python/cpython/pull/143848/commits/348127fe4b92583e84eb39d78d565b5d0beee630 |
|
| https://github.com/johnslavik |
| Fix first self-test (typo) | https://github.com/python/cpython/pull/143848/commits/bc86ed28159817f0e93759acd2eb80a93ab39798 |
| bc86ed2 | https://github.com/python/cpython/pull/143848/commits/bc86ed28159817f0e93759acd2eb80a93ab39798 |
|
| https://github.com/johnslavik |
| Fix second self-test (typo) | https://github.com/python/cpython/pull/143848/commits/d434a40a8502b170140f856c40c3f4b8698d2778 |
| d434a40 | https://github.com/python/cpython/pull/143848/commits/d434a40a8502b170140f856c40c3f4b8698d2778 |
|
| https://github.com/johnslavik |
| Add news entry | https://github.com/python/cpython/pull/143848/commits/1f36f76765511f7dab3d5ca88c7c0a2238f92b76 |
| 1f36f76 | https://github.com/python/cpython/pull/143848/commits/1f36f76765511f7dab3d5ca88c7c0a2238f92b76 |
| https://github.com/johnslavik |
| johnslavik | https://github.com/johnslavik |
| January 16, 2026 05:22 | https://github.com/python/cpython/pull/143848#event-22086589993 |
| https://github.com/apps/bedevere-app |
| bedevere-app | https://github.com/apps/bedevere-app |
|
awaiting review
| https://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22awaiting%20review%22 |
| Jan 16, 2026 | https://github.com/python/cpython/pull/143848#event-22086591489 |
|
| https://github.com/johnslavik |
| Re-run CI | https://github.com/python/cpython/pull/143848/commits/32a3bef0fe7ebf5252ce9c6500b29b978263bab1 |
| 32a3bef | https://github.com/python/cpython/pull/143848/commits/32a3bef0fe7ebf5252ce9c6500b29b978263bab1 |
| https://github.com/johnslavik |
| johnslavik | https://github.com/johnslavik |
| JelleZijlstra | https://github.com/JelleZijlstra |
| January 16, 2026 05:43 | https://github.com/python/cpython/pull/143848#event-22086918086 |
| johnslavik | https://github.com/johnslavik |
| January 16, 2026 06:45 | https://github.com/python/cpython/pull/143848#commits-pushed-866aef1 |
|
| https://github.com/johnslavik |
| Move self-tests to class level | https://github.com/python/cpython/pull/143848/commits/866aef183f1511bf6b0cca25a239bcdd271624e7 |
| 866aef1 | https://github.com/python/cpython/pull/143848/commits/866aef183f1511bf6b0cca25a239bcdd271624e7 |
|
| https://github.com/johnslavik |
| Fix typo in a test forwardref | https://github.com/python/cpython/pull/143848/commits/094f0f8e6b45bb1d7647199870cacef2e210a8b4 |
| 094f0f8 | https://github.com/python/cpython/pull/143848/commits/094f0f8e6b45bb1d7647199870cacef2e210a8b4 |
| Sign up for free | https://github.com/join?source=comment-repo |
| Sign in to comment | https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F143848 |
|
| https://github.com/JelleZijlstra |
|
JelleZijlstra
| https://github.com/JelleZijlstra |
|
| https://github.com/abhinand-c |
|
abhinand-c
| https://github.com/abhinand-c |
|
| https://github.com/python/cpython/pull/143848/files/55e07ae86be204569f1a6ffbce095b5a15f1e788 |
|
awaiting review
| https://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22awaiting%20review%22 |
|
needs backport to 3.14
| https://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22needs%20backport%20to%203.14%22 |
| Please reload this page | https://github.com/python/cpython/pull/143848 |
|
| https://github.com/johnslavik |
|
| https://github.com/leycec |
|
| https://github.com/JelleZijlstra |
|
| https://github.com/abhinand-c |
|
| https://github.com |
| Terms | https://docs.github.com/site-policy/github-terms/github-terms-of-service |
| Privacy | https://docs.github.com/site-policy/privacy-policies/github-privacy-statement |
| Security | https://github.com/security |
| Status | https://www.githubstatus.com/ |
| Community | https://github.community/ |
| Docs | https://docs.github.com/ |
| Contact | https://support.github.com?tags=dotcom-footer |