Skip to content
Snippets Groups Projects
Commit 17520224 authored by Damien George's avatar Damien George
Browse files

py: Make all objects and instances derive from object.

This makes isinstance(X, object) and issubclass(X, object) true for all
X.
parent 7efc5b3f
Branches
No related tags found
No related merge requests found
......@@ -11,8 +11,6 @@ typedef struct _mp_obj_object_t {
mp_obj_base_t base;
} mp_obj_object_t;
const mp_obj_type_t mp_type_object;
STATIC mp_obj_t object_make_new(mp_obj_t type_in, uint n_args, uint n_kw, const mp_obj_t *args) {
if (n_args != 0 || n_kw != 0) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_TypeError, "object takes no arguments"));
......
......@@ -532,7 +532,8 @@ STATIC mp_obj_t mp_obj_is_subclass(mp_obj_t object, mp_obj_t classinfo) {
}
for (uint i = 0; i < len; i++) {
if (mp_obj_is_subclass_fast(object, items[i])) {
// We explicitly check for 'object' here since no-one explicitly derives from it
if (items[i] == &mp_type_object || mp_obj_is_subclass_fast(object, items[i])) {
return mp_const_true;
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment