(original) (raw)
"maybe the test suite should error out if any unexpected symbols appear in the stable ABI?"
This or on build (personally I prefer this sort of validation at build time, but I know others would prefer to defer it).
We have a script now that can extract all the right functions, though I think it'll only work in the source tree as it relies on clinic. But that should make it fairly straightforward to spit out a list and compare it to a checked in list.
At the same time, we have a problem in the current release, which is the functions I listed earlier. I would really like to fix that without blocking on getting the right long-term fix (since the immediate fix only affects one file in the Windows distribution, though it has implications for supportability).
Top-posted from my Windows Phone
This or on build (personally I prefer this sort of validation at build time, but I know others would prefer to defer it).
We have a script now that can extract all the right functions, though I think it'll only work in the source tree as it relies on clinic. But that should make it fairly straightforward to spit out a list and compare it to a checked in list.
At the same time, we have a problem in the current release, which is the functions I listed earlier. I would really like to fix that without blocking on getting the right long-term fix (since the immediate fix only affects one file in the Windows distribution, though it has implications for supportability).
Top-posted from my Windows Phone
From: Nathaniel Smith
Sent: 12/21/2016 8:22
To: Steve Dower
Cc: Serhiy Storchaka; Victor Stinner; Python Dev
Subject: Re: \[Python-Dev\] Issue #23903 - stable API is incomplete
On Dec 21, 2016 7:43 AM, "Steve Dower" <steve.dower@python.org> wrote:
"Ok, now why should \_Py\_PrintReferences() function be exported?"It probably shouldn't, but it needs an #ifndef Py\_LIMITED\_API check so it is excluded from the headers (my list was automatically generated).
It sounds like the opt-out approach isn't working very well, and maybe an opt-in approach should be considered instead? I recognize that the way C headers work makes this difficult, but it seems like something needs to change.
Or maybe the test suite should error out if any unexpected symbols appear in the stable ABI?
-n