Message 81212 - Python tracker (original) (raw)

Very good point. Registering for the standard ABCs seems like an important use case. Unfortunately, it seems to me that ABCs simply don't provide that capability - is there a way, for a given class, of listing all the ABCs it's registered under? Even if the order is arbitrary, that's OK.

Without that, I fail to see how any generic function implementation ("simple" or not) could support ABCs. (Excluding obviously broken approaches such as registration-order dependent overload resolution).

The problem is that ABCs are all about isinstance testing, where generic functions are all about avoiding isinstance testing. (As a compromise, you could have a base generic function that did isinstance testing for the sequence ABC).