René's URL Explorer Experiment


Title: gh-143831: Compare cells by identity in forward references by johnslavik · Pull Request #143848 · python/cpython · GitHub

Open Graph Title: gh-143831: Compare cells by identity in forward references by johnslavik · Pull Request #143848 · python/cpython

X Title: gh-143831: Compare cells by identity in forward references by johnslavik · Pull Request #143848 · python/cpython

Description: 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,...

Open Graph Description: 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,...

X Description: 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,...

Opengraph URL: https://github.com/python/cpython/pull/143848

X: @github

direct link

Domain: redirect.github.com

route-pattern/_view_fragments/voltron/pull_requests/show/:user_id/:repository/:id/pull_request_layout(.:format)
route-controllervoltron_pull_requests_fragments
route-actionpull_request_layout
fetch-noncev2:61713604-5bf8-18f0-a5e8-16b80a5b40b4
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idC600:34CBCC:98208D:CEBCB5:6969E80D
html-safe-nonce1252524c435fa0c0d127e340b7b9609ae37e16e57b7f7b687b4d011e42af0c75
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDNjAwOjM0Q0JDQzo5ODIwOEQ6Q0VCQ0I1OjY5NjlFODBEIiwidmlzaXRvcl9pZCI6IjM2NDQyOTMxMjU2ODk3NzQyMSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmaca0ca4bc07da2956d7049403a891e2b049074e8f369ad0dff408ec28cb4a08e7e
hovercard-subject-tagpull_request:3174840142
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/pull_requests_fragments/pull_request_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/voltron/pull_requests/show/python/cpython/143848/pull_request_layout
twitter:imagehttps://opengraph.githubassets.com/0e697f6e0da302f3b41f6c8e9d35b6ef2f2efce19fc0250435281860f6ce8ab3/python/cpython/pull/143848
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/0e697f6e0da302f3b41f6c8e9d35b6ef2f2efce19fc0250435281860f6ce8ab3/python/cpython/pull/143848
og:image:altCells 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:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernamejohnslavik
hostnamegithub.com
expected-hostnamegithub.com
None7b32f1c7c4549428ee399213e8345494fc55b5637195d3fc5f493657579235e8
turbo-cache-controlno-preview
go-importgithub.com/python/cpython git https://github.com/python/cpython.git
octolytics-dimension-user_id1525981
octolytics-dimension-user_loginpython
octolytics-dimension-repository_id81598961
octolytics-dimension-repository_nwopython/cpython
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id81598961
octolytics-dimension-repository_network_root_nwopython/cpython
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasebdde15ad1b403e23b08bbd89b53fbe6bdf688cad
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://redirect.github.com/python/cpython/pull/143848#start-of-content
https://redirect.github.com/
Sign in https://redirect.github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F143848
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://redirect.github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F143848
Sign up https://redirect.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
Reloadhttps://redirect.github.com/python/cpython/pull/143848
Reloadhttps://redirect.github.com/python/cpython/pull/143848
Reloadhttps://redirect.github.com/python/cpython/pull/143848
python https://redirect.github.com/python
cpythonhttps://redirect.github.com/python/cpython
Please reload this pagehttps://redirect.github.com/python/cpython/pull/143848
Notifications https://redirect.github.com/login?return_to=%2Fpython%2Fcpython
Fork 33.9k https://redirect.github.com/login?return_to=%2Fpython%2Fcpython
Star 71.1k https://redirect.github.com/login?return_to=%2Fpython%2Fcpython
Code https://redirect.github.com/python/cpython
Issues 5k+ https://redirect.github.com/python/cpython/issues
Pull requests 2.1k https://redirect.github.com/python/cpython/pulls
Actions https://redirect.github.com/python/cpython/actions
Projects 31 https://redirect.github.com/python/cpython/projects
Security Uh oh! There was an error while loading. Please reload this page. https://redirect.github.com/python/cpython/security
Please reload this pagehttps://redirect.github.com/python/cpython/pull/143848
Insights https://redirect.github.com/python/cpython/pulse
Code https://redirect.github.com/python/cpython
Issues https://redirect.github.com/python/cpython/issues
Pull requests https://redirect.github.com/python/cpython/pulls
Actions https://redirect.github.com/python/cpython/actions
Projects https://redirect.github.com/python/cpython/projects
Security https://redirect.github.com/python/cpython/security
Insights https://redirect.github.com/python/cpython/pulse
Sign up for GitHub https://redirect.github.com/signup?return_to=%2Fpython%2Fcpython%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://redirect.github.com/login?return_to=%2Fpython%2Fcpython%2Fissues%2Fnew%2Fchoose
Jump to bottomhttps://redirect.github.com/python/cpython/pull/143848#issue-comment-box
johnslavikhttps://redirect.github.com/johnslavik
python:mainhttps://redirect.github.com/python/cpython/tree/main
johnslavik:fix-forwardrefs-dont-hash-cellshttps://redirect.github.com/johnslavik/cpython/tree/fix-forwardrefs-dont-hash-cells
gh-143831: Compare cells by identity in forward references https://redirect.github.com/python/cpython/pull/143848#top
johnslavikhttps://redirect.github.com/johnslavik
python:mainhttps://redirect.github.com/python/cpython/tree/main
johnslavik:fix-forwardrefs-dont-hash-cellshttps://redirect.github.com/johnslavik/cpython/tree/fix-forwardrefs-dont-hash-cells
Conversation 9 https://redirect.github.com/python/cpython/pull/143848
Commits 11 https://redirect.github.com/python/cpython/pull/143848/commits
Checks 43 https://redirect.github.com/python/cpython/pull/143848/checks
Files changed 3 https://redirect.github.com/python/cpython/pull/143848/files
https://github.co/hiddenchars
https://redirect.github.com/python/cpython/pull/{{ revealButtonHref }}
https://redirect.github.com/johnslavik
johnslavikhttps://redirect.github.com/johnslavik
Jan 14, 2026https://redirect.github.com/python/cpython/pull/143848#issue-3814699467
Please reload this pagehttps://redirect.github.com/python/cpython/pull/143848
Python 3.14.1+ annotationlib regression: ForwardRef.__hash__ raises TypeError: unhashable type: 'cell' #143831https://github.com/python/cpython/issues/143831
Please reload this pagehttps://redirect.github.com/python/cpython/pull/143848
https://redirect.github.com/johnslavik
Hash and compare cells by identityhttps://redirect.github.com/python/cpython/pull/143848/commits/55e07ae86be204569f1a6ffbce095b5a15f1e788
55e07aehttps://redirect.github.com/python/cpython/pull/143848/commits/55e07ae86be204569f1a6ffbce095b5a15f1e788
https://redirect.github.com/johnslavik
johnslavikhttps://redirect.github.com/johnslavik
needs backport to 3.14 https://redirect.github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22needs%20backport%20to%203.14%22
Jan 14, 2026https://redirect.github.com/python/cpython/pull/143848#event-22052379379
https://redirect.github.com/apps/bedevere-app
bedevere-apphttps://redirect.github.com/apps/bedevere-app
Jan 14, 2026 https://redirect.github.com/python/cpython/pull/143848#ref-issue-3812574750
Python 3.14.1+ annotationlib regression: ForwardRef.__hash__ raises TypeError: unhashable type: 'cell' #143831 https://redirect.github.com/python/cpython/issues/143831
https://redirect.github.com/abhinand-c
abhinand-chttps://redirect.github.com/abhinand-c
Jan 15, 2026 https://redirect.github.com/python/cpython/pull/143848#pullrequestreview-3664037692
View reviewed changes https://redirect.github.com/python/cpython/pull/143848/files/55e07ae86be204569f1a6ffbce095b5a15f1e788
Lib/annotationlib.pyhttps://redirect.github.com/python/cpython/pull/143848/files/55e07ae86be204569f1a6ffbce095b5a15f1e788#diff-55449988e121f54fcc768a9fef3619f9209ae218260193de8f44bef68e13c583
Please reload this pagehttps://redirect.github.com/python/cpython/pull/143848
https://redirect.github.com/abhinand-c
abhinand-chttps://redirect.github.com/abhinand-c
Jan 15, 2026 https://redirect.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://redirect.github.com/beartype/beartype/issues/610
https://redirect.github.com/leycec
Sign in to viewhttps://redirect.github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F143848
https://redirect.github.com/johnslavik
johnslavikhttps://redirect.github.com/johnslavik
Jan 15, 2026https://redirect.github.com/python/cpython/pull/143848#issuecomment-3753256933
Please reload this pagehttps://redirect.github.com/python/cpython/pull/143848
@JelleZijlstrahttps://github.com/JelleZijlstra
Please reload this pagehttps://redirect.github.com/python/cpython/pull/143848
https://redirect.github.com/JelleZijlstra
JelleZijlstrahttps://redirect.github.com/JelleZijlstra
Jan 15, 2026 https://redirect.github.com/python/cpython/pull/143848#pullrequestreview-3667057967
View reviewed changes https://redirect.github.com/python/cpython/pull/143848/files/55e07ae86be204569f1a6ffbce095b5a15f1e788
Lib/annotationlib.pyhttps://redirect.github.com/python/cpython/pull/143848/files/55e07ae86be204569f1a6ffbce095b5a15f1e788#diff-55449988e121f54fcc768a9fef3619f9209ae218260193de8f44bef68e13c583
Please reload this pagehttps://redirect.github.com/python/cpython/pull/143848
https://redirect.github.com/JelleZijlstra
JelleZijlstrahttps://redirect.github.com/JelleZijlstra
Jan 15, 2026https://redirect.github.com/python/cpython/pull/143848#issuecomment-3756343302
Please reload this pagehttps://redirect.github.com/python/cpython/pull/143848
johnslavikhttps://redirect.github.com/johnslavik
January 15, 2026 21:19https://redirect.github.com/python/cpython/pull/143848#commits-pushed-9194bbf
https://redirect.github.com/johnslavik
Merge branch 'main' into fix-forwardrefs-dont-hash-cellshttps://redirect.github.com/python/cpython/pull/143848/commits/9194bbf34429799f573c7c5b64de08fc2e1ede29
9194bbfhttps://redirect.github.com/python/cpython/pull/143848/commits/9194bbf34429799f573c7c5b64de08fc2e1ede29
https://redirect.github.com/johnslavik
Use appropriate semantics in __eq__https://redirect.github.com/python/cpython/pull/143848/commits/ff81d6a838d17e3a33100069dd48bfba5ceb2cf6
ff81d6ahttps://redirect.github.com/python/cpython/pull/143848/commits/ff81d6a838d17e3a33100069dd48bfba5ceb2cf6
https://redirect.github.com/johnslavik
johnslavikhttps://redirect.github.com/johnslavik
force-pushedhttps://redirect.github.com/python/cpython/compare/973643e2f7b72778c77f5aacc6cdf17241402085..9f5f3c1880fd080c2ad82be49247eba16048321d
973643ehttps://redirect.github.com/python/cpython/commit/973643e2f7b72778c77f5aacc6cdf17241402085
9f5f3c1https://redirect.github.com/python/cpython/commit/9f5f3c1880fd080c2ad82be49247eba16048321d
Compare https://redirect.github.com/python/cpython/compare/973643e2f7b72778c77f5aacc6cdf17241402085..9f5f3c1880fd080c2ad82be49247eba16048321d
January 16, 2026 05:04https://redirect.github.com/python/cpython/pull/143848#event-22086319278
https://redirect.github.com/johnslavik
Add base testhttps://redirect.github.com/python/cpython/pull/143848/commits/6c36442fbd9e49e2f9b717d5ce4e069e5df5e43b
6c36442https://redirect.github.com/python/cpython/pull/143848/commits/6c36442fbd9e49e2f9b717d5ce4e069e5df5e43b
https://redirect.github.com/johnslavik
johnslavikhttps://redirect.github.com/johnslavik
force-pushedhttps://redirect.github.com/python/cpython/compare/9f5f3c1880fd080c2ad82be49247eba16048321d..6c36442fbd9e49e2f9b717d5ce4e069e5df5e43b
9f5f3c1https://redirect.github.com/python/cpython/commit/9f5f3c1880fd080c2ad82be49247eba16048321d
6c36442https://redirect.github.com/python/cpython/commit/6c36442fbd9e49e2f9b717d5ce4e069e5df5e43b
Compare https://redirect.github.com/python/cpython/compare/9f5f3c1880fd080c2ad82be49247eba16048321d..6c36442fbd9e49e2f9b717d5ce4e069e5df5e43b
January 16, 2026 05:04https://redirect.github.com/python/cpython/pull/143848#event-22086323636
johnslavikhttps://redirect.github.com/johnslavik
January 16, 2026 06:18https://redirect.github.com/python/cpython/pull/143848#commits-pushed-d8f5bc8
https://redirect.github.com/johnslavik
Test two pathshttps://redirect.github.com/python/cpython/pull/143848/commits/d8f5bc8a6816c3ea6c2a8f9df2d7acddbc738f23
d8f5bc8https://redirect.github.com/python/cpython/pull/143848/commits/d8f5bc8a6816c3ea6c2a8f9df2d7acddbc738f23
https://redirect.github.com/johnslavik
Simplify first self-testhttps://redirect.github.com/python/cpython/pull/143848/commits/348127fe4b92583e84eb39d78d565b5d0beee630
348127fhttps://redirect.github.com/python/cpython/pull/143848/commits/348127fe4b92583e84eb39d78d565b5d0beee630
https://redirect.github.com/johnslavik
Fix first self-test (typo)https://redirect.github.com/python/cpython/pull/143848/commits/bc86ed28159817f0e93759acd2eb80a93ab39798
bc86ed2https://redirect.github.com/python/cpython/pull/143848/commits/bc86ed28159817f0e93759acd2eb80a93ab39798
https://redirect.github.com/johnslavik
Fix second self-test (typo)https://redirect.github.com/python/cpython/pull/143848/commits/d434a40a8502b170140f856c40c3f4b8698d2778
d434a40https://redirect.github.com/python/cpython/pull/143848/commits/d434a40a8502b170140f856c40c3f4b8698d2778
https://redirect.github.com/johnslavik
Add news entryhttps://redirect.github.com/python/cpython/pull/143848/commits/1f36f76765511f7dab3d5ca88c7c0a2238f92b76
1f36f76https://redirect.github.com/python/cpython/pull/143848/commits/1f36f76765511f7dab3d5ca88c7c0a2238f92b76
https://redirect.github.com/johnslavik
johnslavikhttps://redirect.github.com/johnslavik
January 16, 2026 05:22https://redirect.github.com/python/cpython/pull/143848#event-22086589993
https://redirect.github.com/apps/bedevere-app
bedevere-apphttps://redirect.github.com/apps/bedevere-app
awaiting review https://redirect.github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22awaiting%20review%22
Jan 16, 2026https://redirect.github.com/python/cpython/pull/143848#event-22086591489
https://redirect.github.com/johnslavik
Re-run CIhttps://redirect.github.com/python/cpython/pull/143848/commits/32a3bef0fe7ebf5252ce9c6500b29b978263bab1
32a3befhttps://redirect.github.com/python/cpython/pull/143848/commits/32a3bef0fe7ebf5252ce9c6500b29b978263bab1
https://redirect.github.com/johnslavik
johnslavikhttps://redirect.github.com/johnslavik
JelleZijlstrahttps://redirect.github.com/JelleZijlstra
January 16, 2026 05:43https://redirect.github.com/python/cpython/pull/143848#event-22086918086
https://redirect.github.com/johnslavik
Move self-tests to class levelhttps://redirect.github.com/python/cpython/pull/143848/commits/866aef183f1511bf6b0cca25a239bcdd271624e7
866aef1https://redirect.github.com/python/cpython/pull/143848/commits/866aef183f1511bf6b0cca25a239bcdd271624e7
Sign up for freehttps://redirect.github.com/join?source=comment-repo
Sign in to commenthttps://redirect.github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F143848
https://redirect.github.com/JelleZijlstra
JelleZijlstra https://redirect.github.com/JelleZijlstra
https://redirect.github.com/abhinand-c
abhinand-c https://redirect.github.com/abhinand-c
https://redirect.github.com/python/cpython/pull/143848/files/55e07ae86be204569f1a6ffbce095b5a15f1e788
awaiting review https://redirect.github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22awaiting%20review%22
needs backport to 3.14 https://redirect.github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22needs%20backport%20to%203.14%22
Please reload this pagehttps://redirect.github.com/python/cpython/pull/143848
https://redirect.github.com/johnslavik
https://redirect.github.com/leycec
https://redirect.github.com/JelleZijlstra
https://redirect.github.com/abhinand-c
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.