On Friday, October 7, 2016 at 6:21:45 PM UTC-7, Nils Bruin wrote: > > On Friday, October 7, 2016 at 10:47:55 AM UTC-7, John H Palmieri wrote: >> >> TypeError: Error when calling the metaclass bases >> metaclass conflict: the metaclass of a derived class must be a >> (non-strict) subclass of the metaclasses of all its bases >> > Yes, python doesn't support multiple metaclass inheritance (its design > really prevents it), so I'd think this is a hard obstruction. > > sage: M=UniqueRepresentation.__metaclass__ > sage: M.mro(M) > [<type 'sage.misc.classcall_metaclass.ClasscallMetaclass'>, > <type 'sage.misc.nested_class.NestedClassMetaclass'>, > <type 'type'>, > <type 'object'>] > sage: E=Element.__getmetaclass__(1) > sage: E.mro(E) > [<type 'sage.misc.inherit_comparison.InheritComparisonMetaclass'>, > <type 'type'>, > <type 'object'>] > > prior to https://trac.sagemath.org/ticket/18329 your example worked. > > Of course, if you want UniqueRepresentation (do you really want that? it's > got a lot of drawbacks) you wouldn't really care about inheriting > comparison, but that doesn't help you. >
What are all of the drawbacks? -- You received this message because you are subscribed to the Google Groups "sage-support" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/sage-support. For more options, visit https://groups.google.com/d/optout.
