René's URL Explorer Experiment


Title: bpo-31333: Re-implement ABCMeta in C by ilevkivskyi · Pull Request #5273 · python/cpython · GitHub

Open Graph Title: bpo-31333: Re-implement ABCMeta in C by ilevkivskyi · Pull Request #5273 · python/cpython

X Title: bpo-31333: Re-implement ABCMeta in C by ilevkivskyi · Pull Request #5273 · python/cpython

Description: This implementation is fully functional but there are three remaining issues/questions that I hope we can resolve quickly: One test still fails. This is because six.with_metaclass (used by pip) does some fragile "magic". With this PR it fails with TypeError: type.__new__(metaclass) is not safe, use ABCMeta.__new__(). I see two options here: (1) Try to somehow special-case ABCMeta to fix this; (2) Do nothing here, but instead contact six and pip maintainers so that hey can fix this. What to do with private caches/registry? There are three options: (1) Make them fully internal (i.e. only visible in C code); (2) Expose them, but make them read-only, so that one can do C._abc_cache.clear(), but not C._abc_cache = "Surprise!"; (3) Expose them, and make them writable. I currently go with option (2), which seems to be a reasonable compromise. How to organize the caches? In this version I made both caches and registry just normal sets of weak references without callbacks. This is very simple in terms of implementation and fast, with a minor downside that dead references will stay in caches. I am open to alternative ideas here (note the main issue is that references should not be removed during iteration over the sets). I didn't do any careful benchmarking yet, but this this seems to give a decent speed-up for Python start-up time and to several ABC-related tests. For example, on my machine Python startup is 10% faster. @methane @serhiy-storchaka I will really appreciate your help/advise/review here. @ned-deily I know beta1 is very close, but I would like this to get in. I already discussed with @gvanrossum and he is OK with this getting into beta1. https://bugs.python.org/issue31333

Open Graph Description: This implementation is fully functional but there are three remaining issues/questions that I hope we can resolve quickly: One test still fails. This is because six.with_metaclass (used by pip) do...

X Description: This implementation is fully functional but there are three remaining issues/questions that I hope we can resolve quickly: One test still fails. This is because six.with_metaclass (used by pip) do...

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

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:f31adb3e-6c56-b1ca-5f79-ac7c65981260
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idDEB4:4950B:6B5C99D:96439B6:6A50518F
html-safe-nonceefdb6d6e3eb20a28aad08347d577c1f81e4c1590ea1434c61b2e7003203af293
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJERUI0OjQ5NTBCOjZCNUM5OUQ6OTY0MzlCNjo2QTUwNTE4RiIsInZpc2l0b3JfaWQiOiIzNzM0MTk2MzY1OTU1MTkxMTgzIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmac442b5378f44b5ba7c55135dbd846ccf0d549d159dc377550bac7464e36c5c523
hovercard-subject-tagpull_request:164454120
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///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/python/cpython/pull/5273/files
twitter:imagehttps://avatars.githubusercontent.com/u/12005495?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/12005495?s=400&v=4
og:image:altThis implementation is fully functional but there are three remaining issues/questions that I hope we can resolve quickly: One test still fails. This is because six.with_metaclass (used by pip) do...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Noned6dc8294eb500fa36bbc57472d61fe87c522f9c3c1d64f70f4926f66a66a7efb
turbo-cache-controlno-preview
diff-viewunified
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 full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release5741a45fe07e5f377d0d4c524a92e3056acc51bb
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/python/cpython/pull/5273/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F5273%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
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
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
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/enterprise/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%2Fpull%2F5273%2Ffiles
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%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=python%2Fcpython
Reloadhttps://github.com/python/cpython/pull/5273/files
Reloadhttps://github.com/python/cpython/pull/5273/files
Reloadhttps://github.com/python/cpython/pull/5273/files
Please reload this pagehttps://github.com/python/cpython/pull/5273/files
python https://github.com/python
cpythonhttps://github.com/python/cpython
Please reload this pagehttps://github.com/python/cpython/pull/5273/files
Notifications https://github.com/login?return_to=%2Fpython%2Fcpython
Fork 34.9k https://github.com/login?return_to=%2Fpython%2Fcpython
Star 73.6k 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.3k https://github.com/python/cpython/pulls
Actions https://github.com/python/cpython/actions
Projects https://github.com/python/cpython/projects
Security and quality 0 https://github.com/python/cpython/security
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 and quality 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 servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fpython%2Fcpython%2Fissues%2Fnew%2Fchoose
ilevkivskyihttps://github.com/ilevkivskyi
python:masterhttps://github.com/python/cpython/tree/master
ilevkivskyi:c-abchttps://github.com/ilevkivskyi/cpython/tree/c-abc
Conversation 291 https://github.com/python/cpython/pull/5273
Commits 103 https://github.com/python/cpython/pull/5273/commits
Checks 0 https://github.com/python/cpython/pull/5273/checks
Files changed https://github.com/python/cpython/pull/5273/files
Please reload this pagehttps://github.com/python/cpython/pull/5273/files
bpo-31333: Re-implement ABCMeta in C https://github.com/python/cpython/pull/5273/files#top
Show all changes 103 commits https://github.com/python/cpython/pull/5273/files
5c34508 Initial work on C implementation of ABCMeta ilevkivskyi Jul 23, 2017 https://github.com/python/cpython/pull/5273/commits/5c34508231058796cbe2ffddf055386960f9a8e5
cb7ffcf Basic implementation of ABCMeta.__new__ ilevkivskyi Jul 25, 2017 https://github.com/python/cpython/pull/5273/commits/cb7ffcf60978781be4a35ee13378dad490ff88c9
b83ee80 Bare-bone implementation of register and subclass checks ilevkivskyi Jul 25, 2017 https://github.com/python/cpython/pull/5273/commits/b83ee80bf9d58f7e207e31c8c5f28d7b3bbd1ac5
181e83f Fix mock failure and silence compiler warnings ilevkivskyi Jul 26, 2017 https://github.com/python/cpython/pull/5273/commits/181e83f712e5f2d400368de6d08813c606a126cc
c084a7f Provide nicer dump of registry ilevkivskyi Jul 26, 2017 https://github.com/python/cpython/pull/5273/commits/c084a7fd3c26ea17569ac400264adca843b6c10b
a192d5d Add better docstrings ilevkivskyi Jul 26, 2017 https://github.com/python/cpython/pull/5273/commits/a192d5d6186987ea2706478fe76f500a9106fe24
35a2472 Expose the internal cavhes and registry (backward compatibility) ilevkivskyi Jul 27, 2017 https://github.com/python/cpython/pull/5273/commits/35a24728420b6d3ca04d1f9323d87d0f34de5896
4812450 Merge remote-tracking branch 'upstream/master' into c-abc ilevkivskyi Sep 3, 2017 https://github.com/python/cpython/pull/5273/commits/4812450379e3f96422ed33cd06a1da1860d50dfe
b9038e2 Merge remote-tracking branch 'upstream/master' into c-abc Jan 20, 2018 https://github.com/python/cpython/pull/5273/commits/b9038e2a9aa828854052896c6db94f68accee66b
bbee578 Add _abc to Setup.dist Jan 20, 2018 https://github.com/python/cpython/pull/5273/commits/bbee578440218a46252ddcd405d09e53471324b0
a3464fd Fix _abc in Setup.dist Jan 20, 2018 https://github.com/python/cpython/pull/5273/commits/a3464fdce0d6e0b6b1ba7f92005da38348f40e2d
947bf7d Update a comment Jan 20, 2018 https://github.com/python/cpython/pull/5273/commits/947bf7d8043da974794962851f1fff36da040c0f
7ffc59e Settle the .py version Jan 20, 2018 https://github.com/python/cpython/pull/5273/commits/7ffc59ecd7defbbc6bdec5b4a7e69bc684050fde
41287a7 Fix some TODOs and refleaks Jan 21, 2018 https://github.com/python/cpython/pull/5273/commits/41287a7ac3f236dda35c83830a5d651ee3f84ece
569cc44 Fix some more refleaks; use weak refs in registry Jan 21, 2018 https://github.com/python/cpython/pull/5273/commits/569cc447c370031aac5839e8b3896799c476cb8f
34665a8 Some more fixes; add some caching Jan 21, 2018 https://github.com/python/cpython/pull/5273/commits/34665a8ef47b042444169c1b11b799be81cb11aa
576acac Fix a crash due to erroneous DECREF Jan 21, 2018 https://github.com/python/cpython/pull/5273/commits/576acac44dc7bc228b820f92b0fd3abb20382de8
30098b4 Simplify some code; reorganize TODOs Jan 22, 2018 https://github.com/python/cpython/pull/5273/commits/30098b4d7f9d0671bfd5e0e340d4713fdf2d08fc
51ede5d Finish caches; add more comments Jan 22, 2018 https://github.com/python/cpython/pull/5273/commits/51ede5dcd0797c52c81ccc5036a1d23ded0a9453
5263e1a Use Py_RETURN_TRUE/FALSE and fix refleak methane Jan 24, 2018 https://github.com/python/cpython/pull/5273/commits/5263e1a3cea8d12a795e685731a8386004129f30
1f7aee9 Use Py_RETURN_NONE methane Jan 24, 2018 https://github.com/python/cpython/pull/5273/commits/1f7aee9aa16d3d26b68ff81968b86c3767530dde
11fea70 Use _PyObject_IsAbstract() methane Jan 24, 2018 https://github.com/python/cpython/pull/5273/commits/11fea706fe72848b58032c57b7c92481c7c0ee65
7ff3fbb Use _PySet_NextEntry methane Jan 24, 2018 https://github.com/python/cpython/pull/5273/commits/7ff3fbb61305fce399ff8321fe2d8cf9708812d4
9b4eb2f Minor review comments Jan 25, 2018 https://github.com/python/cpython/pull/5273/commits/9b4eb2f39dbbe1312394cc59e30b214127e7c132
ab20a33 Sketch the new API Jan 25, 2018 https://github.com/python/cpython/pull/5273/commits/ab20a334cceff4133149f51a49280e21987c89c2
39f2692 Merge remote-tracking branch 'upstream/master' into c-abc Jan 25, 2018 https://github.com/python/cpython/pull/5273/commits/39f269221731d1211b5d97d3283817fb2cbbdaf1
493d0ec Use _PyObject_LookupAttr Jan 25, 2018 https://github.com/python/cpython/pull/5273/commits/493d0ec432a4df066c66a851518221f46c678dea
2fe2c54 Some more progress Jan 26, 2018 https://github.com/python/cpython/pull/5273/commits/2fe2c547c15e0626ab05212bbd9eb6384a567e1d
9476af6 Implement weakref callbacks and guarded iteration Jan 26, 2018 https://github.com/python/cpython/pull/5273/commits/9476af63402bb25ec13ee9f98594a5bce7fd4548
ab68cdb Fix some errors Jan 26, 2018 https://github.com/python/cpython/pull/5273/commits/ab68cdb0dead1d6de3074bc5928a7fb10e2ded97
3eb0a60 Fix two review comments Jan 26, 2018 https://github.com/python/cpython/pull/5273/commits/3eb0a6003462e0eee0b8355e2f52aed9a185ae34
ed36b76 More fixes, test_abc passes Jan 27, 2018 https://github.com/python/cpython/pull/5273/commits/ed36b76e91382cd03bad28b0a8fb56abc8f695f2
25fc5b9 Merge remote-tracking branch 'upstream/master' into c-abc Jan 27, 2018 https://github.com/python/cpython/pull/5273/commits/25fc5b938355ad855aee34d6519a0b3d5ed19bbe
b2f75b9 Fix some remaining problems Jan 27, 2018 https://github.com/python/cpython/pull/5273/commits/b2f75b96a15955e5df17aba0bbf2a5daa5c08a87
cdb5cdf Update TODO Jan 27, 2018 https://github.com/python/cpython/pull/5273/commits/cdb5cdf7b35511495e669d9b309a4b3baa9f5d2d
a1a3a52 Add missing statics Jan 27, 2018 https://github.com/python/cpython/pull/5273/commits/a1a3a52eb3146419b8b102c8c5824d2d5a4a0b0a
a66b08c Build on Windows methane Jan 27, 2018 https://github.com/python/cpython/pull/5273/commits/a66b08c066ba3c1e92c646b7356ee4477b49ce45
86af9ae Refactor __abstractmethods__ calculation. methane Jan 27, 2018 https://github.com/python/cpython/pull/5273/commits/86af9ae424ce74ee12ac24ab7f50cfa45a4ae0d1
b22232a Refactor via _abc_impl Jan 27, 2018 https://github.com/python/cpython/pull/5273/commits/b22232a999c59d21e7c8e7557d053f7a39f8cd16
e51c5ca Fix some refleaks Jan 27, 2018 https://github.com/python/cpython/pull/5273/commits/e51c5caeb5d6d139e842786832dc967d4ad1006e
bac7a43 Add docs (required by some tests) and initialization Jan 27, 2018 https://github.com/python/cpython/pull/5273/commits/bac7a437af3820583475be0c1bdc68673ae5f51f
4571649 Merge remote-tracking branch 'upstream/master' into c-abc Jan 27, 2018 https://github.com/python/cpython/pull/5273/commits/4571649f64cabaf9423e32345d12d9869342ee96
0d7513b Outdated comment and detection of intrusions Jan 27, 2018 https://github.com/python/cpython/pull/5273/commits/0d7513b6ccf88073aeff3bde0ccb92453f7207e9
c429f49 Minor fixes Jan 27, 2018 https://github.com/python/cpython/pull/5273/commits/c429f49ffaca5f5815a757aa65b62f0422a4a0ad
357b56d Few more refleaks Jan 27, 2018 https://github.com/python/cpython/pull/5273/commits/357b56d42b98dbb7124dc92bb7b366c1b1d8beca
cd80fcb Restore unwanted changes Jan 28, 2018 https://github.com/python/cpython/pull/5273/commits/cd80fcb5aa6e126d9f1002a7b3447c427e8e8949
34e13c3 Fix(?) some more refleaks Jan 28, 2018 https://github.com/python/cpython/pull/5273/commits/34e13c319b9aebc666027e1bcc2158818116179e
c5633b6 Reset caches between runs Jan 28, 2018 https://github.com/python/cpython/pull/5273/commits/c5633b6fb5a61d00bcb04829d9224d341b7fe7cc
3cbbc12 Fix abuse of borrowed reference methane Jan 28, 2018 https://github.com/python/cpython/pull/5273/commits/3cbbc122f5283f88adcde356ce9947eea449b1e8
23bcb07 Fix remaining refleaks Jan 28, 2018 https://github.com/python/cpython/pull/5273/commits/23bcb0768f386aa3dfd22c19d54bbd3b09f77eee
0aab479 Updare TODO, switch to common result agreement, few more checks Jan 28, 2018 https://github.com/python/cpython/pull/5273/commits/0aab4799fc77e75cfa776a1aa17feb9b00781a1e
86e0660 Fix typos Jan 28, 2018 https://github.com/python/cpython/pull/5273/commits/86e06604028d1f4b2f32bacdc049cf6122ba1bad
c55e482 Remove irrelevant TODOs, add few comments Jan 28, 2018 https://github.com/python/cpython/pull/5273/commits/c55e482bb002baae955e68c95762776e8ef81078
5f9526a Use Py_ssize_t for iterating methane Jan 28, 2018 https://github.com/python/cpython/pull/5273/commits/5f9526ac6a3630fa6036026190cd6121a3710e73
8174b61 Use c99 designated initializer. methane Jan 28, 2018 https://github.com/python/cpython/pull/5273/commits/8174b61c2823e490cc06272e942b46f94185ef80
bb8d623 Fix gset_new() and abc_data_new() methane Jan 28, 2018 https://github.com/python/cpython/pull/5273/commits/bb8d623f4aa360cdd2d6a1d29d400a6d51d0a510
ef59e54 Massive refactoring... methane Jan 28, 2018 https://github.com/python/cpython/pull/5273/commits/ef59e549d5490302eb1857075e6e2e0ce40a0084
22699fe fixup methane Jan 28, 2018 https://github.com/python/cpython/pull/5273/commits/22699fe793eca9474dea7cf2ae4b3c38900d8044
95cbf34 Review comments Jan 28, 2018 https://github.com/python/cpython/pull/5273/commits/95cbf34aad4f4cadd64c8f2d70f1a168b4596b49
4d596cc More refactoring Jan 28, 2018 https://github.com/python/cpython/pull/5273/commits/4d596ccd805b22d9359e4a022317079596300f8d
fa3cba3 Typos and minor fixes Jan 28, 2018 https://github.com/python/cpython/pull/5273/commits/fa3cba3e6831d46c9686e8a382b304733cfe879c
6f18293 Minor fixes and code style Jan 28, 2018 https://github.com/python/cpython/pull/5273/commits/6f18293403a52c8c6cf97f7add880acdd90b43d3
9100891 Remove some unreachable code Jan 28, 2018 https://github.com/python/cpython/pull/5273/commits/9100891a6a127402f409b37b90f8d4211ab22b0a
36c5643 Review comments Jan 28, 2018 https://github.com/python/cpython/pull/5273/commits/36c564339d46712e7b55632ffb1e39891752d1f7
dd2abda Split the class into two separate implementations Jan 28, 2018 https://github.com/python/cpython/pull/5273/commits/dd2abdaa077a6109f0352cb6bf3aab8d1c8fc176
99d950c Add version independent (Py vs C) cache clearing Jan 28, 2018 https://github.com/python/cpython/pull/5273/commits/99d950c8babdad57568ab00083c505c82a09d035
3762d49 Test the six-like tricky type.__new__(metaclass) with ABCMeta Jan 28, 2018 https://github.com/python/cpython/pull/5273/commits/3762d49a5326348e725e07fa5b7639a7f7687a25
404d1ce Test both versions Jan 28, 2018 https://github.com/python/cpython/pull/5273/commits/404d1ce876f80336d5d3e174e0b98c87de38e70e
0dc5fae Add comment about testing Jan 28, 2018 https://github.com/python/cpython/pull/5273/commits/0dc5faea8c9a71c37b43629069525b599a8bf018
287b26a Always DECREF after PyTuplr_Pack Jan 28, 2018 https://github.com/python/cpython/pull/5273/commits/287b26abf2c8e7969ead388707f5cc5fd3cad655
ef34364 Use PySet_New() instead of calling copy() method. methane Jan 29, 2018 https://github.com/python/cpython/pull/5273/commits/ef34364092365982b11657ea0e363473582e24fc
d4d78a1 Copy set before iterating, and remove guarded set methane Jan 29, 2018 https://github.com/python/cpython/pull/5273/commits/d4d78a1a48487923ab0e2bc964437d2d55b2e5a2
f58822e Add NULL check after PyWeakref_GetObject methane Jan 30, 2018 https://github.com/python/cpython/pull/5273/commits/f58822edbb75b3b170070806552284beb01a96ab
3b74bdc Add fast path for looking register methane Jan 30, 2018 https://github.com/python/cpython/pull/5273/commits/3b74bdc9b160fe8ea272b91b8593c70f4fd5fe1f
db1c852 Check negative cache version before cache lookup methane Jan 30, 2018 https://github.com/python/cpython/pull/5273/commits/db1c852a70d59fb44c35878ae35a05a29853d058
6e62be7 Merge pull request #5 from methane/c-abc-no-guard-set ilevkivskyi Feb 11, 2018 https://github.com/python/cpython/pull/5273/commits/6e62be79efab14d2e84c8ba49f8589f5758ec1ed
5384726 Fix nits pointed by pppery. methane Feb 12, 2018 https://github.com/python/cpython/pull/5273/commits/538472606a03762d7c850a9a1b0188ffd08b4392
a48eecc Create set lazily methane Feb 14, 2018 https://github.com/python/cpython/pull/5273/commits/a48eecc2dee7a6c143e792b839f3cf97b4c2836d
16a8db1 Explicitly set NULL methane Feb 14, 2018 https://github.com/python/cpython/pull/5273/commits/16a8db18359a02429a7681b5a63ae31a52d43638
5ad3ea8 Merge pull request #6 from methane/c-abc-lazyset ilevkivskyi Feb 14, 2018 https://github.com/python/cpython/pull/5273/commits/5ad3ea821ac3b7a7549e854fa3c4122049bc1d6d
86a9b8d Check PyObject_IsTrue() error methane Feb 14, 2018 https://github.com/python/cpython/pull/5273/commits/86a9b8d68f06b11e74ff4e4d34fe2c469341afc9
36c2013 Strip TODO comments. methane Feb 14, 2018 https://github.com/python/cpython/pull/5273/commits/36c201323546954553554e120729432c6be8c727
09c5370 Add NEWS entry methane Feb 14, 2018 https://github.com/python/cpython/pull/5273/commits/09c537099659099def36dac29be8809c16da688f
207d8e9 Fix _reset_caches methane Feb 15, 2018 https://github.com/python/cpython/pull/5273/commits/207d8e92d1e2844ec4bcbe7c3a10be7cc67c4383
a15377b Add default: Py_UNREACHABLE() methane Feb 15, 2018 https://github.com/python/cpython/pull/5273/commits/a15377b6590b4be91df9c41ecadb603d8ca43d3f
d31da13 Rephrase NEWS entry methane Feb 15, 2018 https://github.com/python/cpython/pull/5273/commits/d31da13cc43b234f1e6c74b89394f9f0747d488f
eaff1cb Merge remote-tracking branch 'upstream/master' into c-abc Feb 16, 2018 https://github.com/python/cpython/pull/5273/commits/eaff1cbc975fffa9d5f00ced71eb60c5803d10b3
48de70e Factor out Python version to a separate file Feb 16, 2018 https://github.com/python/cpython/pull/5273/commits/48de70ea9212f2fa23175a6c4c99e9cb189b6579
3bd0666 Factor out Python version to a separate file Feb 16, 2018 https://github.com/python/cpython/pull/5273/commits/3bd0666eaef9d8c63ece1ee2966ae02284bd9f6e
702347a Remove extra whitespace Feb 16, 2018 https://github.com/python/cpython/pull/5273/commits/702347ace7e45114019fa284aff5e9880bf01b52
e0c978b Add more details to NEWS Feb 16, 2018 https://github.com/python/cpython/pull/5273/commits/e0c978b1b266e382637913293344442387576623
b370dfe Fix an import in refleak test Feb 16, 2018 https://github.com/python/cpython/pull/5273/commits/b370dfe1c25a3a9cd357a2166aebebc886890d97
a1ae0a7 Restart tests Feb 16, 2018 https://github.com/python/cpython/pull/5273/commits/a1ae0a7cc0fddb2b7d62caacba770b174bd0c729
4746211 Make order of subclass checks in Python version stable and consistent… Feb 16, 2018 https://github.com/python/cpython/pull/5273/commits/4746211769405fe6e23c00a81613adb7917cf350
001b416 Convert _abc to Argument Clinic Feb 17, 2018 https://github.com/python/cpython/pull/5273/commits/001b416685b5a0c24d56eeb41a11255bd29ee875
fc528df Merge remote-tracking branch 'upstream/master' into c-abc Feb 17, 2018 https://github.com/python/cpython/pull/5273/commits/fc528df0bc37b6d911744a6df4305a133342b273
289c414 Regenerate clinic Feb 17, 2018 https://github.com/python/cpython/pull/5273/commits/289c41413fdb1ba4f1265e362a203a5f623ac816
ac0c639 Switch from Python invalidation counter to C long long Feb 17, 2018 https://github.com/python/cpython/pull/5273/commits/ac0c63911e6824a6c5b9231deb633cb9c5d38cc0
079e3be The rest of the comments Feb 17, 2018 https://github.com/python/cpython/pull/5273/commits/079e3be4768361f54a9da78cd261a008da2f579e
9c49e5a Merge remote-tracking branch 'upstream/master' into c-abc Feb 17, 2018 https://github.com/python/cpython/pull/5273/commits/9c49e5a315a4b9097f5e390b4e6045498f2c64aa
4146588 Regenerate clinics. Feb 17, 2018 https://github.com/python/cpython/pull/5273/commits/41465888ec5a48b1f45ce9d5c4f296c654b3d65b
c133605 Two more comments Feb 17, 2018 https://github.com/python/cpython/pull/5273/commits/c1336051c4d8351f0556d00f05985ecc9f38eb88
f82e04d Few more comments by Serhiy; add Whats New item Feb 18, 2018 https://github.com/python/cpython/pull/5273/commits/f82e04de3374a2729b7b2113f075f3700940a530
Clear filters https://github.com/python/cpython/pull/5273/files
Please reload this pagehttps://github.com/python/cpython/pull/5273/files
Please reload this pagehttps://github.com/python/cpython/pull/5273/files
3.7.rst https://github.com/python/cpython/pull/5273/files#diff-830b405713d1c40982ffa918864e39c40c1b318d79b8dd2b523646dc3bd18b52
_py_abc.py https://github.com/python/cpython/pull/5273/files#diff-3178d3e96fe6ef5531e7c1510815852772107bf2a222f4d94a1b3b85e4c13b0f
abc.py https://github.com/python/cpython/pull/5273/files#diff-14b22bd70f1a636134e1266305965ed8cf483e43c802b6165e8ed4c3b8ee1f9f
refleak.py https://github.com/python/cpython/pull/5273/files#diff-a9ae74da20089d7e315cc884eec16e9105c45fefd9b3da12e3382fb43c4310c9
test_abc.py https://github.com/python/cpython/pull/5273/files#diff-e020d5ddd536ec48b0414753af7d5240750a05262f32dad378b4c79e6cc3743d
test_typing.py https://github.com/python/cpython/pull/5273/files#diff-04d29c98076c2d6bb75921ea9becb26a862544d39b71db87b6e354c759b9305d
2018-02-15-08-18-52.bpo-31333.4fF-gM.rst https://github.com/python/cpython/pull/5273/files#diff-2fbed004b9207796dbb9a1b56fe4089a7c81233b31a9d621ecef964a2c06b0a8
Setup.dist https://github.com/python/cpython/pull/5273/files#diff-8c27948d59e712cc63eaba8c5469a2b469697f8c0b086956aee4b8e0f11c01d6
_abc.c https://github.com/python/cpython/pull/5273/files#diff-d88c94f372c2e10cea3d5f2e39c6ce940eb2cfe664d913eeab7f74d23d636687
_abc.c.h https://github.com/python/cpython/pull/5273/files#diff-510d3b07367797945f760f8ac5071f53ceae465597c43513d195eab9ac80baa9
config.c https://github.com/python/cpython/pull/5273/files#diff-8a2febbbb157899b268d6008d367f11ad3ca66a83fd7d013ffa0df650ec1231c
pythoncore.vcxproj https://github.com/python/cpython/pull/5273/files#diff-4295039788386c2986b811f2a6b59cf088be59822b24b4f1243c9e9b184f65fb
pythoncore.vcxproj.filters https://github.com/python/cpython/pull/5273/files#diff-9e715828befc9c50c8b483b06d4923cda0db44f57d0c20e6a6d428ba60bfa0c5
setup.py https://github.com/python/cpython/pull/5273/files#diff-60f61ab7a8d1910d86d9fda2261620314edcae5894d5aaa236b821c7256badd7
Doc/whatsnew/3.7.rsthttps://github.com/python/cpython/pull/5273/files#diff-830b405713d1c40982ffa918864e39c40c1b318d79b8dd2b523646dc3bd18b52
View file https://github.com/ilevkivskyi/cpython/blob/f82e04de3374a2729b7b2113f075f3700940a530/Doc/whatsnew/3.7.rst
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/5273/{{ revealButtonHref }}
https://github.com/python/cpython/pull/5273/files#diff-830b405713d1c40982ffa918864e39c40c1b318d79b8dd2b523646dc3bd18b52
https://github.com/python/cpython/pull/5273/files#diff-830b405713d1c40982ffa918864e39c40c1b318d79b8dd2b523646dc3bd18b52
Lib/_py_abc.pyhttps://github.com/python/cpython/pull/5273/files#diff-3178d3e96fe6ef5531e7c1510815852772107bf2a222f4d94a1b3b85e4c13b0f
View file https://github.com/ilevkivskyi/cpython/blob/f82e04de3374a2729b7b2113f075f3700940a530/Lib/_py_abc.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/5273/{{ revealButtonHref }}
Please reload this pagehttps://github.com/python/cpython/pull/5273/files
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.