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.

Reply via email to