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 NeilGirdhar
Recipients NeilGirdhar, docs@python, ncoghlan
Date 2016-10-15.17:49:50
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1476553791.06.0.388958262018.issue28437@psf.upfronthosting.co.za>
In-reply-to
Content
The documentation suggests that you can have a metaclass that does is not the "most derived metaclass" provided you specify one that is not an instance of type.  This doesn't work in CPython, so I would suggest fixing the documentation using the text I provided.

After that, it should be clear that there's no reason for "if isinstance(meta, type):" in the code, and the Python code should be restructured.

The point is that these two functions drifted apart somewhere around Python 3, and they need to be brought back together.  I only discovered this because it was possible in Python 2 to have a non-type metaclass that is not the most derived metaclass.  That has disappeared in CPython 3, except from the documentation and Lib.
History
Date User Action Args
2016-10-15 17:49:51NeilGirdharsetrecipients: + NeilGirdhar, ncoghlan, docs@python
2016-10-15 17:49:51NeilGirdharsetmessageid: <1476553791.06.0.388958262018.issue28437@psf.upfronthosting.co.za>
2016-10-15 17:49:51NeilGirdharlinkissue28437 messages
2016-10-15 17:49:51NeilGirdharcreate