← index #525PR #594
Related · medium · value 0.100
QUERY · ISSUE

Method Resolution Order (MRO) is not compliant

openby pfalconopened 2014-04-28updated 2024-08-28
py-core

uPy currently implements depth-first MRO, which is equivalent to one used pre-Python2.2.
References:

  • http://python-history.blogspot.com/2010/06/method-resolution-order.html
  • https://www.python.org/download/releases/2.3/mro/
CANDIDATE · PULL REQUEST

objtype: Don't treat inheritance from "object" as from native type.

closedby pfalconopened 2014-05-09updated 2014-08-09

"object" type in MicroPython currently doesn't implement any methods, and
hopefully, we'll try to stay like that for as long as possible. Even if we
have to add something eventually, look up from there might be handled in
adhoc manner, as last resort (that's not compliant with Python3 MRO, but
we're already non-compliant). Hence: 1) no need to spend type trying to
lookup anything in object; 2) no need to allocate subobject when explicitly
inheriting from object; 3) and having multiple bases inheriting from object
is not a case of incompatible multiple inheritance.

Keyboard

j / / n
next pair
k / / p
previous pair
1 / / h
show query pane
2 / / l
show candidate pane
c
copy suggested comment
r
toggle reasoning
g i
go to index
?
show this help
esc
close overlays

press ? or esc to close

copied