
On Wed, Sep 27, 2017 at 12:28 PM, Ivan Levkivskyi <levkivskyi@gmail.com> wrote:
Previously I posted PEP 560 two weeks ago, while several other PEPs were also posted, so it didn't get much of attention. Here I post the PEP 560 again, now including the full text for convenience of commenting.
[..]
After creating the class, the original bases are saved in ``__orig_bases__`` (currently this is also done by the metaclass).
Those are *still* bases, right, even if they are not in the mro? I'm not sure if this is a naming thing or something even more.
NOTE: These two method names are reserved for exclusive use by the ``typing`` module and the generic types machinery, and any other use is strongly discouraged.
Given the situation, that may be a good thing. But will it really work? I think it is also strongly discouraged to invent your own dunder method names, but people still do it.
The reference implementation (with tests) can be found in [4]_, the proposal was originally posted and discussed on the ``typing`` tracker, see [5]_.
Backwards compatibility and impact on users who don't use ``typing``: =====================================================================
This proposal may break code that currently uses the names ``__class_getitem__`` and ``__subclass_base__``.
––Koos [..] -- + Koos Zevenhoven + http://twitter.com/k7hoven +