Updated Build Troubleshooting (markdown)

master
Jim Mussared 2023-10-09 20:24:23 +11:00
rodzic 7daf3a606c
commit 763e212da8
1 zmienionych plików z 6 dodań i 0 usunięć

@ -2,6 +2,12 @@
# Core MicroPython
## `mp_generic_unary_op` missing
This function was removed in v1.21. If you have a module that defined a type that used it, then likely all you need to do is remove the `unary_op` slot from your type.
See https://github.com/micropython/micropython/pull/10348 for more details. This PR identified that there were a bunch of places that used `mp_generic_unary_op` to enable the default implementation of the hash operator on types. Instead it was easier to enable hashing by default for all type, and just disable it for types that shouldn't get it
## DEFINE_CONST_OBJ_TYPE
If you see errors involving the `DEFINE_CONST_OBJ_TYPE` macro, or anything to do with the definition of `mp_obj_type_t` then see [#8813](https://github.com/micropython/micropython/pull/8813). This PR changed the way object types are defined, in order to save significant amounts of ROM. The `mp_obj_type_t` struct previously always stored 12 pointers to various functions that customise the type's behavior. However this meant that all types, even very simple ones, always used 12 words of ROM. Now the type only uses as much ROM as it has slots defined. Unfortunately the way this is represented can't be easily done using plain C initialisers, so the implementation of this is hidden in a new macro.