Author So8res
Recipients So8res, levkivskyi, serhiy.storchaka, yselivanov
Date 2017-03-18.07:04:13
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1489820653.24.0.86805135766.issue29822@psf.upfronthosting.co.za>
In-reply-to
Content
I didn't know about issue29638, and I'm not sure whether my PR fixes it. Looking at that bug, I don't think that my PR would fix it, because I still trust TPFLAGS_IS_ABSTRACT when __abstractmethods__ exists. That said, I'm not clear on how the cache works, so it's possible that my PR would fix 29638.

My issue appears when one uses py3.6's new __init_subclass__ hook with an ABC. __init_subclass__ is run by type.__new__, which means that, as of py3.6, users can (in a natural/reasonable way) inspect ABCMeta classes before ABCMeta.__new__ finishes executing. I didn't see any reasonable way to have ABCMeta.__new__ finish setting up the ABC before calling super().__new__, so I figured the fix should go into inspect.isabstract. But there may be better solutions I just didn't think of.
History
Date User Action Args
2017-03-18 07:04:13So8ressetrecipients: + So8res, serhiy.storchaka, yselivanov, levkivskyi
2017-03-18 07:04:13So8ressetmessageid: <1489820653.24.0.86805135766.issue29822@psf.upfronthosting.co.za>
2017-03-18 07:04:13So8reslinkissue29822 messages
2017-03-18 07:04:13So8rescreate