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.

Author ronaldoussoren
Recipients corona10, nascheme, petdance, ronaldoussoren, serhiy.storchaka, shihai1991, steve.dower, vstinner
Date 2020-04-15.08:30:11
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1586939411.71.0.185199847075.issue39573@roundup.psfhosted.org>
In-reply-to
Content
The incompatibility mentioned in msg366473 is probably fixable by treating the PyObject header the same as the GC head structure. With some care this could mostly maintain binary compatibility by inserting some unused fields in PyObject_HEAD instead of the PyObject header when an extension targets a stable ABI version that has the PyObject header in-line.

This issue seems to be comparible to the "fragile instance variable" issue fixed in Objective-C 2.0, see <https://en.wikipedia.org/wiki/Objective-C#Non-fragile_instance_variables>.  That was fixed by adding a level of indirection when accessing member variables.

Something like that is probably necessary to be able to subclass builtin types (other than object itself) in an extension.
History
Date User Action Args
2020-04-15 08:30:11ronaldoussorensetrecipients: + ronaldoussoren, nascheme, vstinner, serhiy.storchaka, steve.dower, corona10, shihai1991, petdance
2020-04-15 08:30:11ronaldoussorensetmessageid: <1586939411.71.0.185199847075.issue39573@roundup.psfhosted.org>
2020-04-15 08:30:11ronaldoussorenlinkissue39573 messages
2020-04-15 08:30:11ronaldoussorencreate