This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Add missing type slots
Type: Stage:
Components: Versions: Python 3.2
process
Status: closed Resolution: accepted
Dependencies: Superseder:
Assigned To: Nosy List: georg.brandl, loewis, pitrou, rhettinger
Priority: release blocker Keywords: patch

Created on 2011-02-06 19:51 by loewis, last changed 2022-04-11 14:57 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
typeslots.diff loewis, 2011-02-06 19:51
Messages (9)
msg128075 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2011-02-06 19:51
Three slots in type objects are missing in PEP 384. This patch adds them to the ABI.
msg128079 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2011-02-06 20:03
Given the recent multiple additions of "forgotten things" in the ABI, wouldn't it be better to mark the ABI experimental so that things can get ironed out in 3.2.1? (especially with user feedback after the release)
msg128083 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2011-02-06 20:26
> Given the recent multiple additions of "forgotten things" in the ABI,
> wouldn't it be better to mark the ABI experimental so that things can
> get ironed out in 3.2.1? (especially with user feedback after the
> release)

I don't know what would be gained in such a marking, or how the marking
could be carried out.

I assume that uptake of the ABI is slow either way (marked or not),
although you might manage to slow it down further by marking it
experimental. I can't see why that would be desirable.
msg128084 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2011-02-06 20:31
> > Given the recent multiple additions of "forgotten things" in the ABI,
> > wouldn't it be better to mark the ABI experimental so that things can
> > get ironed out in 3.2.1? (especially with user feedback after the
> > release)
> 
> I don't know what would be gained in such a marking, or how the marking
> could be carried out.

No, the point of the proposal is to allow you to make further changes in
response to user feedback. I assume you can't add things anymore once
the ABI is declared "stable". Can you?
msg128085 - (view) Author: Raymond Hettinger (rhettinger) * (Python committer) Date: 2011-02-06 20:46
My understanding is that Martin can add, but not subtract.  Martin, is that correct?  At this point, I'm not sure we know that the limited API is sufficient.
msg128087 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2011-02-06 21:26
> No, the point of the proposal is to allow you to make further changes in
> response to user feedback. I assume you can't add things anymore once
> the ABI is declared "stable". Can you?

Adding things would be possible, although undesirable. Extension modules
built against the initial release would continue to work
in the new release; extension modules built against the new release
would work with the old release as long as they don't use the additions.
So I'd be in favor of extending the ABI conservatively, as long as
developers explicitly need to opt-in to use such additions (e.g. by
defining a macro)

Most of the recent ABI changes would have fallen under such a policy;
the only incompatible change is the removal of a field (issue11135).
If that isn't carried out before 3.2 is released, then the field
would just remain unused.
msg128088 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2011-02-06 21:34
> My understanding is that Martin can add, but not subtract.  Martin,
> is that correct?

Correct (see the elaboration I just sent).

> At this point, I'm not sure we know that the
> limited API is sufficient.

It's certainly not possible to easily port /all/ existing extension
modules to this ABI - but that never was the plan, only "the majority"
should be supported. It can be demonstrated that the ABI supports
"small" extension modules (xxlimited). For anything else, I'd wait
until people report limitations that they run into. Then, we can either
a strategy to rewrite the module (as also would have been possible
with all the recent additions); if rewriting is not sensible, we
have to extend the ABI (which hopefully won't be necessary often).

So I wouldn't communicate that the ABI is experimental (because
that would suggest that it may go away or change - which I do
hope will not be necessary). Instead, announcing that we are open
to extend it if there is a demonstrated need would indeed be
useful.
msg128113 - (view) Author: Georg Brandl (georg.brandl) * (Python committer) Date: 2011-02-07 12:58
I'm sure Martin has now carefully checked all the remaining slots and these three are the last ones to be added :)
msg128428 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2011-02-11 20:50
Thanks for the review. Committed as r88401.
History
Date User Action Args
2022-04-11 14:57:12adminsetgithub: 55343
2011-02-11 20:50:56loewissetstatus: open -> closed

messages: + msg128428
resolution: accepted
nosy: loewis, georg.brandl, rhettinger, pitrou
2011-02-07 12:58:42georg.brandlsetnosy: loewis, georg.brandl, rhettinger, pitrou
messages: + msg128113
2011-02-06 21:34:08loewissetnosy: loewis, georg.brandl, rhettinger, pitrou
messages: + msg128088
2011-02-06 21:26:49loewissetnosy: loewis, georg.brandl, rhettinger, pitrou
messages: + msg128087
2011-02-06 20:46:50rhettingersetnosy: + rhettinger
messages: + msg128085
2011-02-06 20:31:02pitrousetmessages: + msg128084
2011-02-06 20:26:50loewissetmessages: + msg128083
2011-02-06 20:03:37pitrousetnosy: + pitrou
messages: + msg128079
2011-02-06 19:51:48loewiscreate