[Python-ideas] Re: Allow metaclass to override __subclasscheck__ for metaclass relations

2020-01-01 Thread Soni L.
On 2019-12-31 4:28 p.m., Andrew Barnert wrote: On Dec 31, 2019, at 11:02, Soni L. wrote: > > >> On 2019-12-31 3:56 p.m., Andrew Barnert wrote: >> On Dec 31, 2019, at 09:43, Soni L. wrote: >> > > I would like this code to work, but currently python ignores __subclasscheck__ in many places

[Python-ideas] Re: Allow metaclass to override __subclasscheck__ for metaclass relations

2019-12-31 Thread Andrew Barnert via Python-ideas
On Dec 31, 2019, at 11:02, Soni L. wrote: > > >> On 2019-12-31 3:56 p.m., Andrew Barnert wrote: >> On Dec 31, 2019, at 09:43, Soni L. wrote: >> > > I would like this code to work, but currently python ignores >> > > __subclasscheck__ in many places where it checks for subclasses: >> > > class

[Python-ideas] Re: Allow metaclass to override __subclasscheck__ for metaclass relations

2019-12-31 Thread Soni L.
On 2019-12-31 3:56 p.m., Andrew Barnert wrote: On Dec 31, 2019, at 09:43, Soni L. wrote: > > I would like this code to work, but currently python ignores __subclasscheck__ in many places where it checks for subclasses: > > class MM(type): > def __subclasscheck__(self, subclass): >

[Python-ideas] Re: Allow metaclass to override __subclasscheck__ for metaclass relations

2019-12-31 Thread Andrew Barnert via Python-ideas
On Dec 31, 2019, at 09:43, Soni L. wrote: > > I would like this code to work, but currently python ignores > __subclasscheck__ in many places where it checks for subclasses: > > class MM(type): > def __subclasscheck__(self, subclass): > return issubclass(subclass, type) > > > cla

[Python-ideas] Re: Allow metaclass to override __subclasscheck__ for metaclass relations

2019-12-31 Thread Soni L.
Yes. That's my point. I don't like that error. On 2019-12-31 3:23 p.m., Anders Hovmöller wrote: Tried that. Got: TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases You should probably try the example you're tryin

[Python-ideas] Re: Allow metaclass to override __subclasscheck__ for metaclass relations

2019-12-31 Thread Anders Hovmöller
Tried that. Got: TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases You should probably try the example you're trying to post before posting it. > On 31 Dec 2019, at 19:19, Soni L. wrote: > > Okay. How about th

[Python-ideas] Re: Allow metaclass to override __subclasscheck__ for metaclass relations

2019-12-31 Thread Soni L.
Okay. How about this then: class MM(type):     def __subclasscheck__(self, subclass):     return issubclass(subclass, type) class M(type, metaclass=MM):     pass class N(type):     pass class C(metaclass=M):     pass class D(metaclass=N):     pass class E(C, D, metaclass=N):     pas

[Python-ideas] Re: Allow metaclass to override __subclasscheck__ for metaclass relations

2019-12-31 Thread Anders Hovmöller
You forgot something in that example I think because it doesn't actually do anything that can "not work". > On 31 Dec 2019, at 18:41, Soni L. wrote: > > I would like this code to work, but currently python ignores > __subclasscheck__ in many places where it checks for subclasses: > > class