Я писал метакласс и случайно сделал это так:
class MetaCls(type):
def __new__(cls, name, bases, dict):
return type(name, bases, dict)
... вместо этого:
class MetaCls(type):
def __new__(cls, name, bases, dict):
return type.__new__(cls, name, bases, dict)
В чем же разница между этими двумя метаклассами? И более конкретно, что заставило первое работать некорректно (некоторые классы не были вызваны метаклассом)?