class C(Z, B): __metaclass__ = classmaker() # here needed_metas = (_M_XM_Y, M_B) # composition of many metaclasses class M_A(type): pass
class C(O): __metaclass__ = classmaker()
class C(Folder): __metaclass__ = classmaker((M_A, ))
class C(Folder): # no problem here __metaclass__ = classmaker()
class G(E, F): __metaclass__ = classmaker()
class F(C): __metaclass__ = classmaker()
class C(B, M_B): __metaclass__ = classmaker()
class C(A, B): __metaclass__ = classmaker()
class C(M_A, N): __metaclass__ = classmaker()
class C: __metaclass__ = classmaker()
class C(N, M_A): __metaclass__ = classmaker()
class C: __metaclass__ = classmaker(left_metas=(M_B, ), right_metas=( M_A, M_B, ))
class C(A): __metaclass__ = classmaker(right_metas=(M_B, ))
class C(O, O_): __metaclass__ = classmaker()
class C(M_B, B): __metaclass__ = classmaker()
class C(O, object): __metaclass__ = classmaker()
class Z(X, Y): __metaclass__ = classmaker()
class C(B): __metaclass__ = classmaker((M_A, ))
class Z(X,Y): __metaclass__ = classmaker() # here needed_metas = (M_X, M_Y) assert Z.__class__.__name__ == "_M_XM_Y"