René's URL Explorer Experiment


Title: [C API] Avoid accessing PyObject and PyVarObject members directly: add Py_SET_TYPE() and Py_IS_TYPE(), disallow Py_TYPE(obj)=type · Issue #83754 · python/cpython · GitHub

Open Graph Title: [C API] Avoid accessing PyObject and PyVarObject members directly: add Py_SET_TYPE() and Py_IS_TYPE(), disallow Py_TYPE(obj)=type · Issue #83754 · python/cpython

X Title: [C API] Avoid accessing PyObject and PyVarObject members directly: add Py_SET_TYPE() and Py_IS_TYPE(), disallow Py_TYPE(obj)=type · Issue #83754 · python/cpython

Description: BPO 39573 Nosy @vstinner PRs #18388#18389#18390#18391#18392#18393#18394#18398#18400#18402#18411#18419#18488#18496#18507#18508#18521#18601#18789#18798#18799#18804#18809#19882#19975#20290#20391#20429#20610#21262#21433#23366#23375#26493#265...

Open Graph Description: BPO 39573 Nosy @vstinner PRs #18388#18389#18390#18391#18392#18393#18394#18398#18400#18402#18411#18419#18488#18496#18507#18508#18521#18601#18789#18798#18799#18804#18809#19882#19975#20290#20391#20429...

X Description: BPO 39573 Nosy @vstinner PRs #18388#18389#18390#18391#18392#18393#18394#18398#18400#18402#18411#18419#18488#18496#18507#18508#18521#18601#18789#18798#18799#18804#18809#19882#19975#20290#20391#20429...

Opengraph URL: https://github.com/python/cpython/issues/83754

X: @github

direct link

Domain: github.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"[C API] Avoid accessing PyObject and PyVarObject members directly: add Py_SET_TYPE() and Py_IS_TYPE(), disallow Py_TYPE(obj)=type","articleBody":"BPO | [39573](https://bugs.python.org/issue39573)\n--- | :---\nNosy | @vstinner\nPRs | \u003cli\u003epython/cpython#18388\u003c/li\u003e\u003cli\u003epython/cpython#18389\u003c/li\u003e\u003cli\u003epython/cpython#18390\u003c/li\u003e\u003cli\u003epython/cpython#18391\u003c/li\u003e\u003cli\u003epython/cpython#18392\u003c/li\u003e\u003cli\u003epython/cpython#18393\u003c/li\u003e\u003cli\u003epython/cpython#18394\u003c/li\u003e\u003cli\u003epython/cpython#18398\u003c/li\u003e\u003cli\u003epython/cpython#18400\u003c/li\u003e\u003cli\u003epython/cpython#18402\u003c/li\u003e\u003cli\u003epython/cpython#18411\u003c/li\u003e\u003cli\u003epython/cpython#18419\u003c/li\u003e\u003cli\u003epython/cpython#18488\u003c/li\u003e\u003cli\u003epython/cpython#18496\u003c/li\u003e\u003cli\u003epython/cpython#18507\u003c/li\u003e\u003cli\u003epython/cpython#18508\u003c/li\u003e\u003cli\u003epython/cpython#18521\u003c/li\u003e\u003cli\u003epython/cpython#18601\u003c/li\u003e\u003cli\u003epython/cpython#18789\u003c/li\u003e\u003cli\u003epython/cpython#18798\u003c/li\u003e\u003cli\u003epython/cpython#18799\u003c/li\u003e\u003cli\u003epython/cpython#18804\u003c/li\u003e\u003cli\u003epython/cpython#18809\u003c/li\u003e\u003cli\u003epython/cpython#19882\u003c/li\u003e\u003cli\u003epython/cpython#19975\u003c/li\u003e\u003cli\u003epython/cpython#20290\u003c/li\u003e\u003cli\u003epython/cpython#20391\u003c/li\u003e\u003cli\u003epython/cpython#20429\u003c/li\u003e\u003cli\u003epython/cpython#20610\u003c/li\u003e\u003cli\u003epython/cpython#21262\u003c/li\u003e\u003cli\u003epython/cpython#21433\u003c/li\u003e\u003cli\u003epython/cpython#23366\u003c/li\u003e\u003cli\u003epython/cpython#23375\u003c/li\u003e\u003cli\u003epython/cpython#26493\u003c/li\u003e\u003cli\u003epython/cpython#26550\u003c/li\u003e\u003cli\u003epython/cpython#26596\u003c/li\u003e\u003cli\u003epython/cpython#28128\u003c/li\u003e\n\n\u003csup\u003e*Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.*\u003c/sup\u003e\n\n\u003cdetails\u003e\u003csummary\u003eShow more details\u003c/summary\u003e\u003cp\u003e\n\nGitHub fields:\n```python\nassignee = None\nclosed_at = \u003cDate 2021-09-08.16:32:15.871\u003e\ncreated_at = \u003cDate 2020-02-06.23:07:12.131\u003e\nlabels = ['expert-C-API', '3.11']\ntitle = '[C API] Avoid accessing PyObject and PyVarObject members directly: add Py_SET_TYPE() and Py_IS_TYPE(), disallow Py_TYPE(obj)=type'\nupdated_at = \u003cDate 2022-01-20.00:24:00.180\u003e\nuser = 'https://github.com/vstinner'\n```\n\nbugs.python.org fields:\n```python\nactivity = \u003cDate 2022-01-20.00:24:00.180\u003e\nactor = 'vstinner'\nassignee = 'none'\nclosed = True\nclosed_date = \u003cDate 2021-09-08.16:32:15.871\u003e\ncloser = 'vstinner'\ncomponents = ['C API']\ncreation = \u003cDate 2020-02-06.23:07:12.131\u003e\ncreator = 'vstinner'\ndependencies = []\nfiles = []\nhgrepos = []\nissue_num = 39573\nkeywords = ['patch']\nmessage_count = 96.0\nmessages = ['361513', '361514', '361515', '361516', '361517', '361518', '361519', '361522', '361523', '361526', '361527', '361529', '361531', '361540', '361549', '361555', '361557', '361590', '361593', '361607', '361611', '361626', '361631', '361639', '361904', '361960', '361961', '361963', '361964', '361965', '361971', '361977', '361987', '361988', '362033', '362034', '362133', '362134', '362166', '362212', '362216', '362445', '363345', '363494', '363564', '365690', '366473', '366493', '368047', '369896', '369898', '370074', '370303', '370638', '370663', '370665', '370666', '370671', '370729', '370902', '370932', '372308', '373460', '379675', '379679', '379680', '379757', '379759', '381337', '381345', '381365', '381374', '381403', '381404', '382260', '382534', '382539', '382780', '382781', '382783', '394954', '394971', '395018', '395205', '395206', '395287', '395323', '395536', '401365', '401370', '401378', '401395', '401396', '401399', '403252', '410995']\nnosy_count = 1.0\nnosy_names = ['vstinner']\npr_nums = ['18388', '18389', '18390', '18391', '18392', '18393', '18394', '18398', '18400', '18402', '18411', '18419', '18488', '18496', '18507', '18508', '18521', '18601', '18789', '18798', '18799', '18804', '18809', '19882', '19975', '20290', '20391', '20429', '20610', '21262', '21433', '23366', '23375', '26493', '26550', '26596', '28128']\npriority = 'normal'\nresolution = 'fixed'\nstage = 'resolved'\nstatus = 'closed'\nsuperseder = None\ntype = None\nurl = 'https://bugs.python.org/issue39573'\nversions = ['Python 3.11']\n```\n\n\u003c/p\u003e\u003c/details\u003e\n\n\n\u003c!-- gh-linked-prs --\u003e\n### Linked PRs\n* gh-120599\n\u003c!-- /gh-linked-prs --\u003e\n","author":{"url":"https://github.com/vstinner","@type":"Person","name":"vstinner"},"datePublished":"2020-02-06T23:07:12.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":96},"url":"https://github.com/83754/cpython/issues/83754"}

route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:5a619dfa-195a-bb36-ce8c-8abc72852bd2
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-idE2B0:11141E:18CEC36:2133DE1:6969AFEC
html-safe-nonce2789200ded312935f889247e2cfb993d493999ebd66847b951dadcb14a24d3e6
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFMkIwOjExMTQxRToxOENFQzM2OjIxMzNERTE6Njk2OUFGRUMiLCJ2aXNpdG9yX2lkIjoiMTI4OTI4ODQyNzQyMDM2NDc4MCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac1dcfda59cf6d19c04e3ff3e909ec2ba8d53f7ccf6034816dc770f034d4798b31
hovercard-subject-tagissue:1199030155
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/python/cpython/83754/issue_layout
twitter:imagehttps://opengraph.githubassets.com/ac17b3e5abc2b7018f62cbe4c15bb22939c302f30c3fb8338e170582f3a6df5d/python/cpython/issues/83754
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/ac17b3e5abc2b7018f62cbe4c15bb22939c302f30c3fb8338e170582f3a6df5d/python/cpython/issues/83754
og:image:altBPO 39573 Nosy @vstinner PRs #18388#18389#18390#18391#18392#18393#18394#18398#18400#18402#18411#18419#18488#18496#18507#18508#18521#18601#18789#18798#18799#18804#18809#19882#19975#20290#20391#20429...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernamevstinner
hostnamegithub.com
expected-hostnamegithub.com
Noneb23b8fcc855cd29bb04d6c94aafa62d336bf44eefa8229444eecc968cad03aee
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
release0672399d88424758731ec07fe24509e23bb17fb5
ui-targetcanary-2
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/python/cpython/issues/83754#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fissues%2F83754
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://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fissues%2F83754
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%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=python%2Fcpython
Reloadhttps://github.com/python/cpython/issues/83754
Reloadhttps://github.com/python/cpython/issues/83754
Reloadhttps://github.com/python/cpython/issues/83754
python https://github.com/python
cpythonhttps://github.com/python/cpython
Please reload this pagehttps://github.com/python/cpython/issues/83754
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 pagehttps://github.com/python/cpython/issues/83754
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
New issuehttps://github.com/login?return_to=https://github.com/python/cpython/issues/83754
New issuehttps://github.com/login?return_to=https://github.com/python/cpython/issues/83754
[C API] Avoid accessing PyObject and PyVarObject members directly: add Py_SET_TYPE() and Py_IS_TYPE(), disallow Py_TYPE(obj)=typehttps://github.com/python/cpython/issues/83754#top
3.11only security fixeshttps://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%223.11%22
topic-C-APIhttps://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22topic-C-API%22
https://github.com/vstinner
https://github.com/vstinner
vstinnerhttps://github.com/vstinner
on Feb 6, 2020https://github.com/python/cpython/issues/83754#issue-1199030155
39573https://bugs.python.org/issue39573
@vstinnerhttps://github.com/vstinner
bpo-39573: Use Py_REFCNT() macro #18388https://github.com/python/cpython/pull/18388
bpo-39573: Add Py_SET_REFCNT() function #18389https://github.com/python/cpython/pull/18389
bpo-39573: Use Py_TYPE() in abstract.c #18390https://github.com/python/cpython/pull/18390
bpo-39573: Use Py_TYPE() macro in Python and Include directories #18391https://github.com/python/cpython/pull/18391
bpo-39573: Use Py_TYPE() macro in Objects directory #18392https://github.com/python/cpython/pull/18392
bpo-39573: Use Py_TYPE() macro in Modules directory #18393https://github.com/python/cpython/pull/18393
bpo-39573: Add Py_SET_TYPE() function #18394https://github.com/python/cpython/pull/18394
bpo-39573: Use Py_TYPE() macro in object.c #18398https://github.com/python/cpython/pull/18398
bpo-39573: Add Py_SET_SIZE() function #18400https://github.com/python/cpython/pull/18400
bpo-39573: Use Py_SET_SIZE() function #18402https://github.com/python/cpython/pull/18402
bpo-39573: Use Py_TYPE() macro in ctypes.h #18411https://github.com/python/cpython/pull/18411
bpo-39573: Use Py_SIZE() in s_set() of cfield.c #18419https://github.com/python/cpython/pull/18419
bpo-39573: Add Py_IS_TYPE macro #18488https://github.com/python/cpython/pull/18488
bpo-39573: Fix bad copy-paste in Py_SET_SIZE. #18496https://github.com/python/cpython/pull/18496
bpo-39573: Update clinic to use Py_IS_TYPE macro #18507https://github.com/python/cpython/pull/18507
bpo-39573: Update Include/* to use Py_IS_TYPE #18508https://github.com/python/cpython/pull/18508
bpo-39573: Clean up modules and headers to use Py_IS_TYPE #18521https://github.com/python/cpython/pull/18521
bpo-39573: Finish converting to new Py_IS_TYPE macro. #18601https://github.com/python/cpython/pull/18601
bpo-39573: Use Py_IS_TYPE for type checking #18789https://github.com/python/cpython/pull/18789
bpo-39573: Use Py_IS_TYPE for negative type checks #18798https://github.com/python/cpython/pull/18798
bpo-39573: Make Py_IS_TYPE take const args. Add _PyObject_CAST_CONST. #18799https://github.com/python/cpython/pull/18799
bpo-39873: PyObject_Init() uses PyObject_INIT() #18804https://github.com/python/cpython/pull/18804
bpo-39573: Use Py_IS_TYPE to check for types #18809https://github.com/python/cpython/pull/18809
bpo-39573: Use Py_IS_TYPE to check for types #19882https://github.com/python/cpython/pull/19882
bpo-30459: Cast the result of PyList_SET_ITEM() to void #19975https://github.com/python/cpython/pull/19975
bpo-39573: Convert Py_TYPE() to a static inline function #20290https://github.com/python/cpython/pull/20290
bpo-39573: Fix buildbot failure for tupleobject.c #20391https://github.com/python/cpython/pull/20391
bpo-39573: Convert Py_REFCNT and Py_SIZE to functions #20429https://github.com/python/cpython/pull/20429
bpo-39573: Porting to Python 3.10: Py_SET_SIZE() macro #20610https://github.com/python/cpython/pull/20610
[WIP, DO NOT MERGE] bpo-41188: Prepare CPython for opague PyObject structure. #21262https://github.com/python/cpython/pull/21262
bpo-39573: Use the Py_TYPE() macro #21433https://github.com/python/cpython/pull/21433
bpo-39573: Convert Py_TYPE() and Py_SIZE() back to macros #23366https://github.com/python/cpython/pull/23366
bpo-39573: Remove What's new entry for Py_SIZE() #23375https://github.com/python/cpython/pull/23375
bpo-39573: Py_TYPE becomes a static inline function #26493https://github.com/python/cpython/pull/26493
bpo-11105: use a lower recursion limit for infinite recursion tests #26550https://github.com/python/cpython/pull/26550
bpo-44348: Revert "bpo-39573: Py_TYPE becomes a static inline function (GH-26493)" #26596https://github.com/python/cpython/pull/26596
bpo-39573: Py_TYPE becomes a static inline function #28128https://github.com/python/cpython/pull/28128
gh-83754: Use the Py_TYPE() macro #120599https://github.com/python/cpython/pull/120599
3.11only security fixeshttps://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%223.11%22
topic-C-APIhttps://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22topic-C-API%22
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.