summaryrefslogtreecommitdiffstatshomepage
path: root/py/objtuple.h
diff options
context:
space:
mode:
authorYoctopuce dev <dev@yoctopuce.com>2025-03-20 12:03:59 +0100
committerDamien George <damien@micropython.org>2025-04-21 17:37:39 +1000
commit0d2c18c299936a34cdeb43e2ef9cbdaecb35c610 (patch)
tree3ad96985de946fc79a95de3b7dfb481cb7bec79b /py/objtuple.h
parent8faa6bafdc76a6ee307551ef4d88fd2d54db04b2 (diff)
downloadmicropython-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/objtuple.h')
-rw-r--r--py/objtuple.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/py/objtuple.h b/py/objtuple.h
index cc42aa6df3..034814b826 100644
--- a/py/objtuple.h
+++ b/py/objtuple.h
@@ -61,4 +61,7 @@ void mp_obj_attrtuple_print_helper(const mp_print_t *print, const qstr *fields,
mp_obj_t mp_obj_new_attrtuple(const qstr *fields, size_t n, const mp_obj_t *items);
+// type check is done on getiter method to allow tuple, namedtuple, attrtuple
+#define mp_obj_is_tuple_compatible(o) (MP_OBJ_TYPE_GET_SLOT_OR_NULL(mp_obj_get_type(o), iter) == mp_obj_tuple_getiter)
+
#endif // MICROPY_INCLUDED_PY_OBJTUPLE_H