Neil Girdhar added the comment: "As a result of this, *both* implementations include a conditional check for a more derived metaclass in their namespace preparation logic, as well as an unconditional call to that metaclass derivation logic from type_new if the calculated metaclass is either type itself, or a subclass that calls up to super().__new__."
I don't see why that's necessary. Either you should have the check in one place, or else have two equivalent checks. Right now, the Python library is confusingly checking a subset of cases (when isinstance(meta, type)). I suggest that you have the Python library check the entire set of cases so that the raised exception shows up in the right place. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue28437> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com