py: Allow types to be hashable.

Quite natural to have d[int] = handle_int .
pull/430/merge
Paul Sokolovsky 2014-04-05 12:50:43 +03:00
rodzic c6813d92db
commit 91cbe6033a
2 zmienionych plików z 8 dodań i 0 usunięć

Wyświetl plik

@ -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

Wyświetl plik

@ -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)