RustPython
RustPython copied to clipboard
Need compare between `metaclass` and internal contents of `classcell` in `__build_class__`
Feature
https://github.com/RustPython/RustPython/blob/main/vm/src/stdlib/builtins.rs#L899-L919
We should compare between class
(invoked by metaclass) and classcell
's internal contents before exiting __build_class__
At now we manually set classcell's internal contents with class
, but this should be done in type.__new__
Python Documentation
- Issue 23722: During metaclass.init, super() of the constructed class does not work - Python tracker
- https://github.com/python/cpython/blob/3.10/Objects/typeobject.c#L3030-L3056
- https://github.com/python/cpython/blob/3.10/Python/bltinmodule.c#L225-L242)
Related test cases
-
test_super.py
-
test___classcell___overwrite
-
test___classcell___missing
-
test___classcell___wrong_cell
-
test___class___new
-
test___class___delayed
-
#3986 maybe related but not solved yet