diff options
-rw-r--r-- | py/obj.c | 2 | ||||
-rw-r--r-- | tests/basics/types_hash.py | 6 |
2 files changed, 8 insertions, 0 deletions
@@ -118,6 +118,8 @@ machine_int_t mp_obj_hash(mp_obj_t o_in) { return (machine_int_t)o_in; } else if (MP_OBJ_IS_TYPE(o_in, &mp_type_tuple)) { return mp_obj_tuple_hash(o_in); + } else if (MP_OBJ_IS_TYPE(o_in, &mp_type_type)) { + return (machine_int_t)o_in; // TODO hash class and instances // TODO delegate to __hash__ method if it exists diff --git a/tests/basics/types_hash.py b/tests/basics/types_hash.py new file mode 100644 index 0000000000..2595097d2d --- /dev/null +++ b/tests/basics/types_hash.py @@ -0,0 +1,6 @@ +# Types are hashable +print(hash(type) != 0) +print(hash(int) != 0) +print(hash(list) != 0) +class Foo: pass +print(hash(Foo) != 0) |