QUERY · ISSUE
Descriptor attribute access on a class doesn't call __get__
py-core
CPython calls __get__ with obj as None when a descriptor is accessed on the class itself rather than an instance. MicroPython returns the descriptor instance instead of calling __get__.
CANDIDATE · PULL REQUEST
py/objtype: Don't delegate lookup of descriptor methods to __getattr__.
py-core
Summary
When descriptors are enabled, lookup of the __get__, __set__ and __delete__ descriptor methods should not be delegated to __getattr__. That follows CPython behaviour.
Issue initially found by @ntoll.
Testing
Added a test for these cases.