summaryrefslogtreecommitdiffstatshomepage
path: root/py/objset.c
diff options
context:
space:
mode:
Diffstat (limited to 'py/objset.c')
-rw-r--r--py/objset.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/py/objset.c b/py/objset.c
index fc124fcd8c..246f505d98 100644
--- a/py/objset.c
+++ b/py/objset.c
@@ -489,13 +489,16 @@ STATIC mp_obj_t set_binary_op(mp_uint_t op, mp_obj_t lhs, mp_obj_t rhs) {
case MP_BINARY_OP_SUBTRACT:
return set_diff(2, args);
case MP_BINARY_OP_INPLACE_OR:
- return set_union(lhs, rhs);
+ set_update(2, args);
+ return lhs;
case MP_BINARY_OP_INPLACE_XOR:
- return set_symmetric_difference(lhs, rhs);
+ set_symmetric_difference_update(lhs, rhs);
+ return lhs;
case MP_BINARY_OP_INPLACE_AND:
- return set_intersect(lhs, rhs);
+ set_intersect_int(lhs, rhs, true);
+ return lhs;
case MP_BINARY_OP_INPLACE_SUBTRACT:
- return set_diff(2, args);
+ return set_diff_int(2, args, true);
case MP_BINARY_OP_LESS:
return set_issubset_proper(lhs, rhs);
case MP_BINARY_OP_MORE: