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 ncoghlan
Recipients Dave Jones, eryksun, ncoghlan, serhiy.storchaka
Date 2017-01-14.12:04:52
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1484395492.47.0.935156904699.issue29270@psf.upfronthosting.co.za>
In-reply-to
Content
Yeah, re-using Python-level method objects in different types is genuinely invalid when combined with __class__ or zero-argument super(), as there's no way to make the __class__ closure refer to two different classes at runtime - it will always refer back to the original defining class.

And while ctypes could be updated to do the right thing for functions, classmethod, staticmethod, abstractmethod, property, etc, there's nothing systematic it can do that would work for arbitrary descriptors (any of which may have a zero-argument-super-using method definition hidden inside their internal state).
History
Date User Action Args
2017-01-14 12:04:52ncoghlansetrecipients: + ncoghlan, serhiy.storchaka, eryksun, Dave Jones
2017-01-14 12:04:52ncoghlansetmessageid: <1484395492.47.0.935156904699.issue29270@psf.upfronthosting.co.za>
2017-01-14 12:04:52ncoghlanlinkissue29270 messages
2017-01-14 12:04:52ncoghlancreate