diff --git a/py/objset.c b/py/objset.c index 05d064a047..8ff12ba535 100644 --- a/py/objset.c +++ b/py/objset.c @@ -423,6 +423,13 @@ STATIC mp_obj_t set_binary_op(int op, mp_obj_t lhs, mp_obj_t rhs) { } } +// TODO: Move to common file +STATIC mp_obj_t set_contains(mp_obj_t lhs_in, mp_obj_t rhs_in) { + return set_binary_op(MP_BINARY_OP_IN, lhs_in, rhs_in); +} + +STATIC MP_DEFINE_CONST_FUN_OBJ_2(set_contains_obj, set_contains); + /******************************************************************************/ /* set constructors & public C API */ @@ -445,6 +452,7 @@ STATIC const mp_map_elem_t set_locals_dict_table[] = { { MP_OBJ_NEW_QSTR(MP_QSTR_symmetric_difference_update), (mp_obj_t)&set_symmetric_difference_update_obj }, { MP_OBJ_NEW_QSTR(MP_QSTR_union), (mp_obj_t)&set_union_obj }, { MP_OBJ_NEW_QSTR(MP_QSTR_update), (mp_obj_t)&set_update_obj }, + { MP_OBJ_NEW_QSTR(MP_QSTR___contains__), (mp_obj_t)&set_contains_obj }, }; STATIC MP_DEFINE_CONST_DICT(set_locals_dict, set_locals_dict_table); diff --git a/py/qstrdefs.h b/py/qstrdefs.h index dbfb469e96..27a48af589 100644 --- a/py/qstrdefs.h +++ b/py/qstrdefs.h @@ -17,6 +17,7 @@ Q(__path__) Q(__repl_print__) Q(__bool__) +Q(__contains__) Q(__enter__) Q(__exit__) Q(__len__)