Hi Petr! Petr Viktorin schrieb am 14.01.20 um 14:37: > It also includes a more drastic change: it removes the MRO walker from the > proposal. > Reflecting on the feedback, it became clear to me that a MRO walker, as it > was described, won't give correct results in all cases: specifically, is a > slot is overridden by setting a special method from Python code, the walker > won't be able to find module. Think something like: > c_add = Class.__add__ # where nb_add uses the MRO walker > Class.__add__ = lambda *args: "evil" > c_add(Class(), 0) # Exception: Defining type has not been found. > > This can be solved, but it will need a different design and more > discussion. I'd rather defer it to the future. > Meanwhile, extension authors can use their own MRO walker if they're OK > with some surprising edge cases.
I read the last update. I can't say I'm happy about the removal since I was seeing the MRO walker function as a way to hide internals so that extension authors can start using it and CPython can adapt the internals later. But I do see that there are issues with it, and I accept your choice to keep the PEP even more minimal than it already was. Are there any more points to discuss? If not, I would soon like to accept the PEP, so that we can focus more on the implementation and usage. Stefan _______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-le...@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/OGMUNR4ZPMPXTWJMFCWPZ5ITJJ2G7O3F/ Code of Conduct: http://python.org/psf/codeofconduct/