diff options
author | Yoctopuce dev <dev@yoctopuce.com> | 2025-03-20 12:03:59 +0100 |
---|---|---|
committer | Damien George <damien@micropython.org> | 2025-04-21 17:37:39 +1000 |
commit | 0d2c18c299936a34cdeb43e2ef9cbdaecb35c610 (patch) | |
tree | 3ad96985de946fc79a95de3b7dfb481cb7bec79b /py/objstr.c | |
parent | 8faa6bafdc76a6ee307551ef4d88fd2d54db04b2 (diff) | |
download | micropython-0d2c18c299936a34cdeb43e2ef9cbdaecb35c610.tar.gz micropython-0d2c18c299936a34cdeb43e2ef9cbdaecb35c610.zip |
py/objstr: Fix handling of OP_MODULO with namedtuple.
This fix handles attrtuple as well, eg. os.uname(). A test case has been
added in basics/attrtuple2.py.
Fixes issue #16969.
Signed-off-by: Yoctopuce dev <dev@yoctopuce.com>
Diffstat (limited to 'py/objstr.c')
-rw-r--r-- | py/objstr.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/py/objstr.c b/py/objstr.c index 307e956a15..a160ab415c 100644 --- a/py/objstr.c +++ b/py/objstr.c @@ -33,6 +33,7 @@ #include "py/objlist.h" #include "py/runtime.h" #include "py/cstack.h" +#include "py/objtuple.h" #if MICROPY_PY_BUILTINS_STR_OP_MODULO static mp_obj_t str_modulo_format(mp_obj_t pattern, size_t n_args, const mp_obj_t *args, mp_obj_t dict); @@ -357,8 +358,7 @@ mp_obj_t mp_obj_str_binary_op(mp_binary_op_t op, mp_obj_t lhs_in, mp_obj_t rhs_i mp_obj_t *args = &rhs_in; size_t n_args = 1; mp_obj_t dict = MP_OBJ_NULL; - if (mp_obj_is_type(rhs_in, &mp_type_tuple)) { - // TODO: Support tuple subclasses? + if (mp_obj_is_tuple_compatible(rhs_in)) { mp_obj_tuple_get(rhs_in, &n_args, &args); } else if (mp_obj_is_type(rhs_in, &mp_type_dict)) { dict = rhs_in; |