René's URL Explorer Experiment


Title: Unify `PyObject` dereferencing in c-api by bschoenmaeckers · Pull Request #8292 · RustPython/RustPython · GitHub

Open Graph Title: Unify `PyObject` dereferencing in c-api by bschoenmaeckers · Pull Request #8292 · RustPython/RustPython

Description: A Python Interpreter written in Rust. Contribute to RustPython/RustPython development by creating an account on GitHub.

Opengraph URL: https://github.com/RustPython/RustPython/pull/8292

direct link

Domain: Github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:42d0fd28-b799-2739-5fa4-a67e9c71eaf4
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idB6C6:35887C:7FD302:B7BA68:6A63361D
html-safe-nonce95c4fb8e05d995ac9e6b2c2589671f75c0b6dcf55cd2bfb85022996b212f6e1b
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCNkM2OjM1ODg3Qzo3RkQzMDI6QjdCQTY4OjZBNjMzNjFEIiwidmlzaXRvcl9pZCI6IjI2OTM1NzUwNTM0MTA1MTQ0NjEiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmac512dc54c1f9b099c3ddfd99d2ecd714f3d15960e843e730671e198f61a1fc544
hovercard-subject-tagpull_request:4068882418
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/RustPython/RustPython/pull/8292/files
og:imagehttps://avatars.githubusercontent.com/u/7943856?s=400&v=4
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None59e55daad7174ca59d63c6974d58276ccb5477442e550bebb3c035e1bef11c94
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/RustPython/RustPython git https://github.com/RustPython/RustPython.git
octolytics-dimension-user_id39710557
octolytics-dimension-user_loginRustPython
octolytics-dimension-repository_id135201145
octolytics-dimension-repository_nwoRustPython/RustPython
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id135201145
octolytics-dimension-repository_network_root_nwoRustPython/RustPython
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
release990295d92a4cc7b63fbbd83a046217cd7d77d49c
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://Github.com/RustPython/RustPython/pull/8292/files#start-of-content
https://Github.com/
Sign in https://Github.com/login?return_to=https%3A%2F%2Fgithub.com%2FRustPython%2FRustPython%2Fpull%2F8292%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
Code QualityEnforce quality at mergehttps://github.com/features/code-quality
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%2FRustPython%2FRustPython%2Fpull%2F8292%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=RustPython%2FRustPython
Reloadhttps://Github.com/RustPython/RustPython/pull/8292/files
Reloadhttps://Github.com/RustPython/RustPython/pull/8292/files
Reloadhttps://Github.com/RustPython/RustPython/pull/8292/files
Please reload this pagehttps://Github.com/RustPython/RustPython/pull/8292/files
RustPython https://Github.com/RustPython
RustPythonhttps://Github.com/RustPython/RustPython
Notifications https://Github.com/login?return_to=%2FRustPython%2FRustPython
Fork 1.5k https://Github.com/login?return_to=%2FRustPython%2FRustPython
Star 22.2k https://Github.com/login?return_to=%2FRustPython%2FRustPython
Code https://Github.com/RustPython/RustPython
Issues 294 https://Github.com/RustPython/RustPython/issues
Pull requests 105 https://Github.com/RustPython/RustPython/pulls
Discussions https://Github.com/RustPython/RustPython/discussions
Actions https://Github.com/RustPython/RustPython/actions
Projects https://Github.com/RustPython/RustPython/projects
Models https://Github.com/RustPython/RustPython/models
Wiki https://Github.com/RustPython/RustPython/wiki
Security and quality 0 https://Github.com/RustPython/RustPython/security
Insights https://Github.com/RustPython/RustPython/pulse
Code https://Github.com/RustPython/RustPython
Issues https://Github.com/RustPython/RustPython/issues
Pull requests https://Github.com/RustPython/RustPython/pulls
Discussions https://Github.com/RustPython/RustPython/discussions
Actions https://Github.com/RustPython/RustPython/actions
Projects https://Github.com/RustPython/RustPython/projects
Models https://Github.com/RustPython/RustPython/models
Wiki https://Github.com/RustPython/RustPython/wiki
Security and quality https://Github.com/RustPython/RustPython/security
Insights https://Github.com/RustPython/RustPython/pulse
Sign up for GitHub https://Github.com/signup?return_to=%2FRustPython%2FRustPython%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://Github.com/login?return_to=%2FRustPython%2FRustPython%2Fissues%2Fnew%2Fchoose
bschoenmaeckershttps://Github.com/bschoenmaeckers
RustPython:mainhttps://Github.com/RustPython/RustPython/tree/main
bschoenmaeckers:a-api-ffi-helperhttps://Github.com/bschoenmaeckers/RustPython/tree/a-api-ffi-helper
Conversation 1 https://Github.com/RustPython/RustPython/pull/8292
Commits 4 https://Github.com/RustPython/RustPython/pull/8292/commits
Checks 0 https://Github.com/RustPython/RustPython/pull/8292/checks
Files changed 40 https://Github.com/RustPython/RustPython/pull/8292/files
Unify PyObject dereferencing in c-api https://Github.com/RustPython/RustPython/pull/8292/files#top
Show all changes 4 commits https://Github.com/RustPython/RustPython/pull/8292/files
4f9b2ef Add codecs support to c-apo bschoenmaeckers Jul 13, 2026 https://Github.com/RustPython/RustPython/pull/8292/commits/4f9b2ef3b2202513efb47cc145676cc6d305610d
a65d9c4 Reduce code duplication bschoenmaeckers Jul 15, 2026 https://Github.com/RustPython/RustPython/pull/8292/commits/a65d9c4cc6c1ae3beeade709044ad838f0150c91
c710ae8 Add `FfiPtrExt` for uniform pointer dereferences bschoenmaeckers Jul 16, 2026 https://Github.com/RustPython/RustPython/pull/8292/commits/c710ae88af0d661bff6627b5545b5408082ff60a
c88dc32 Panic on NULL ptrs bschoenmaeckers Jul 16, 2026 https://Github.com/RustPython/RustPython/pull/8292/commits/c88dc322c1ad426a03f53363e4601e515dbf6bf5
Clear filters https://Github.com/RustPython/RustPython/pull/8292/files
Please reload this pagehttps://Github.com/RustPython/RustPython/pull/8292/files
Please reload this pagehttps://Github.com/RustPython/RustPython/pull/8292/files
abstract_.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-40ded4ba4543d80a318b7ad28105c78fc4910b9ca9b8570f636838c710f1f33e
iter.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-5593280826794e7135bcbff3b90fe11f6de94222f5932f5a8a330bbbf486bcd4
mapping.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-8a022d7478deb71070535ce45dda4093c7ded2b0c5fe92d8baedd4c6898d080f
number.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-6cf1288f6e77cfb1fa3e0051b1000ad8ab5daa59f0c5b949fb2f4016afaa7e5d
sequence.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-46455b834923bae7d51861740e118612a545b294ee33fd62a343c26d5813d84d
boolobject.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-6d4e1e124aa5adf9f62db31cdbddeacc38d556075f19c1a3604020a6141ef709
bytearrayobject.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-b5bcd42a37e9b6c201e7c8774273bb75353b52ba2b044545d2ccf1b2b1a0cbbe
bytesobject.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-b442cee0630e88c9328cdf9fc8700b98b0ecb8ca4f60dca8a69ec8967c9d85e5
ceval.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-e139e19ba1f301ea2c439f478ee6158a8b7e350adfd1c749008082cb4233a645
codecs.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-3182614ff560dbbc514ecbb303e01728856729086d9aa1b88529bac82c2b269d
complexobject.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-9f6bc30b94cdbc6873351103ae30cda4e35d5dcaeb1051ba36b8b0e6150ab4ee
descrobject.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-d64e4721d804fd795059878868b6766be2d0be0b4e19f19247a963625690a4c1
dictobject.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-e52dbd132677eaff931b874d7ce0ed7723d989e98eed7ca5b4331f9b3a907ae0
floatobject.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-71afdab2d0ebd5384b4a1207da2bba8af468fdbac8e2fe8cbdcdd6dd7bfcd8e2
genericaliasobject.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-22d439f5a9d2eb9822595f83e5251f03c7a1a15c1f3d882c6553e997785e4a54
import.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-5fc5c066a08a184758c935901fbac5431e8aa176bf503676b07837e2b07988af
lib.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-0fe0f9956005679e0794f572fbd45f07f96cde7ab1f3ff7e6c15bd7fa1ee7878
listobject.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-9add5f5fcfa159be128666ab63ad4fdeac7055d4376c62e4e0a750a35b0df603
longobject.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-a48ef0e0235fc1198be869b502b4bfb1dd715581227a5f60b1dfa415d286eefd
memoryobject.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-dfd5769dfcf2ce270c637e8e2f0dd1dfeeebe39f9ed04c7dba1e6124ecd887ff
methodobject.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-913609e56f901c63c8e8ef250f7583d583bc35cb30b85c064ecc1125fb27366a
moduleobject.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-8020bddd554d64867281560a85dd62d7eb5a96c920dceed33f742fd1e1f4977f
object.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-fe583114535c5e006ae5797e6bb26bf8ab5a13accf9ab4a0de27b2a99d34b63c
pytype.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-20663aec53cfee5dc3e8c8dd3cf46806db274462a6b20569bd79054e2875d4ed
objimpl.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-d4302e72648b533cf3123cff08f649395d586c8d2463cefc12759f5e8d36591b
osmodule.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-c875ba15f6c95539bcab4a411c3d612eba2707b7bc02a6025e686430c1673929
pycapsule.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-6236c420c30a079447a6618b7bfc0aedcc89245d47cde215ddf74f44a367cd97
pyerrors.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-182ff1f3912ef23ede35e910440a570c251f3a564eef94cf5ca876939b3ca81d
pyframe.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-ed6e7e7532321f154cc13ccc0222cfd5400dc53e706694d76a9b919ad507fa3c
refcount.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-3eaeef93979c3f0690ede5d213f491bea4bdf437ef19c1e861033a227fcab3ef
setobject.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-211e30987224606af0de235f0deab1363d037a48da3226451e31473871d2c8c5
sliceobject.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-cbc6dffdf562d76b98abfd17051ed9b1bc3c93b480a93ef3aef53e65e8d2a67a
traceback.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-9169cd81de274e5104ccd3e09c49118032a4d0da6d165a43548eea53c83807b5
tupleobject.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-0e09222bc515c711cd0be3973de2757da85a3cbddf4f629c8ecd497658dbaa38
unicodeobject.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-8fdbd198c73df625de22bd0eff7ea7a0c58a75f9d6d7ad5206fa48cdfa4a8fb9
util.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-853d32ddc8c3e49303b0d62040d07d6197a113b14e9e0fb3879fb87ac4dcebbd
warnings.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-04f2151ec82a283b030ad66f6a4c4c6405e70c4c5942176752836565f0516589
weakrefobject.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-0e584711c9bc0f50f62f381d51feccf40dd577e856a9f2b36eb4a40c040d2156
core.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-29e5bc70b379859cc90757773e821848e53dff65ce99167408b6f547bc317196
sequence.rs https://Github.com/RustPython/RustPython/pull/8292/files#diff-1ba43982365d3016394d380660c70d7316e51ff55efcd096cdcedfada4d3f38e
crates/capi/src/abstract_.rshttps://Github.com/RustPython/RustPython/pull/8292/files#diff-40ded4ba4543d80a318b7ad28105c78fc4910b9ca9b8570f636838c710f1f33e
View file https://Github.com/RustPython/RustPython/blob/c88dc322c1ad426a03f53363e4601e515dbf6bf5/crates/capi/src/abstract_.rs
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://Github.com/RustPython/RustPython/pull/8292/{{ revealButtonHref }}
https://Github.com/RustPython/RustPython/pull/8292/files#diff-40ded4ba4543d80a318b7ad28105c78fc4910b9ca9b8570f636838c710f1f33e
https://Github.com/RustPython/RustPython/pull/8292/files#diff-40ded4ba4543d80a318b7ad28105c78fc4910b9ca9b8570f636838c710f1f33e
https://Github.com/RustPython/RustPython/pull/8292/files#diff-40ded4ba4543d80a318b7ad28105c78fc4910b9ca9b8570f636838c710f1f33e
https://Github.com/RustPython/RustPython/pull/8292/files#diff-40ded4ba4543d80a318b7ad28105c78fc4910b9ca9b8570f636838c710f1f33e
https://Github.com/RustPython/RustPython/pull/8292/files#diff-40ded4ba4543d80a318b7ad28105c78fc4910b9ca9b8570f636838c710f1f33e
https://Github.com/RustPython/RustPython/pull/8292/files#diff-40ded4ba4543d80a318b7ad28105c78fc4910b9ca9b8570f636838c710f1f33e
https://Github.com/RustPython/RustPython/pull/8292/files#diff-40ded4ba4543d80a318b7ad28105c78fc4910b9ca9b8570f636838c710f1f33e
https://Github.com/RustPython/RustPython/pull/8292/files#diff-40ded4ba4543d80a318b7ad28105c78fc4910b9ca9b8570f636838c710f1f33e
https://Github.com/RustPython/RustPython/pull/8292/files#diff-40ded4ba4543d80a318b7ad28105c78fc4910b9ca9b8570f636838c710f1f33e
https://Github.com/RustPython/RustPython/pull/8292/files#diff-40ded4ba4543d80a318b7ad28105c78fc4910b9ca9b8570f636838c710f1f33e
https://Github.com/RustPython/RustPython/pull/8292/files#diff-40ded4ba4543d80a318b7ad28105c78fc4910b9ca9b8570f636838c710f1f33e
https://Github.com/RustPython/RustPython/pull/8292/files#diff-40ded4ba4543d80a318b7ad28105c78fc4910b9ca9b8570f636838c710f1f33e
https://Github.com/RustPython/RustPython/pull/8292/files#diff-40ded4ba4543d80a318b7ad28105c78fc4910b9ca9b8570f636838c710f1f33e
https://Github.com/RustPython/RustPython/pull/8292/files#diff-40ded4ba4543d80a318b7ad28105c78fc4910b9ca9b8570f636838c710f1f33e
crates/capi/src/abstract_/iter.rshttps://Github.com/RustPython/RustPython/pull/8292/files#diff-5593280826794e7135bcbff3b90fe11f6de94222f5932f5a8a330bbbf486bcd4
View file https://Github.com/RustPython/RustPython/blob/c88dc322c1ad426a03f53363e4601e515dbf6bf5/crates/capi/src/abstract_/iter.rs
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://Github.com/RustPython/RustPython/pull/8292/{{ revealButtonHref }}
https://Github.com/RustPython/RustPython/pull/8292/files#diff-5593280826794e7135bcbff3b90fe11f6de94222f5932f5a8a330bbbf486bcd4
https://Github.com/RustPython/RustPython/pull/8292/files#diff-5593280826794e7135bcbff3b90fe11f6de94222f5932f5a8a330bbbf486bcd4
https://Github.com/RustPython/RustPython/pull/8292/files#diff-5593280826794e7135bcbff3b90fe11f6de94222f5932f5a8a330bbbf486bcd4
https://Github.com/RustPython/RustPython/pull/8292/files#diff-5593280826794e7135bcbff3b90fe11f6de94222f5932f5a8a330bbbf486bcd4
https://Github.com/RustPython/RustPython/pull/8292/files#diff-5593280826794e7135bcbff3b90fe11f6de94222f5932f5a8a330bbbf486bcd4
https://Github.com/RustPython/RustPython/pull/8292/files#diff-5593280826794e7135bcbff3b90fe11f6de94222f5932f5a8a330bbbf486bcd4
Please reload this pagehttps://Github.com/RustPython/RustPython/pull/8292/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.