diff --git a/py/objnamedtuple.c b/py/objnamedtuple.c index 70180b2db2..0874eea85f 100644 --- a/py/objnamedtuple.c +++ b/py/objnamedtuple.c @@ -160,6 +160,7 @@ mp_obj_t mp_obj_new_namedtuple_type(qstr name, const char *fields) { o->base.load_attr = namedtuple_load_attr; o->base.store_attr = namedtuple_store_attr; o->base.subscr = tuple_subscr; + o->base.getiter = tuple_getiter; o->base.bases_tuple = (mp_obj_t)&namedtuple_base_tuple; o->fields = fields; return o; diff --git a/py/objtuple.c b/py/objtuple.c index bb0ce65868..109e3ba675 100644 --- a/py/objtuple.c +++ b/py/objtuple.c @@ -174,7 +174,7 @@ mp_obj_t tuple_subscr(mp_obj_t self_in, mp_obj_t index, mp_obj_t value) { } } -STATIC mp_obj_t tuple_getiter(mp_obj_t o_in) { +mp_obj_t tuple_getiter(mp_obj_t o_in) { return mp_obj_new_tuple_iterator(o_in, 0); } diff --git a/py/objtuple.h b/py/objtuple.h index 0e48c3c843..9c33ed09f5 100644 --- a/py/objtuple.h +++ b/py/objtuple.h @@ -34,3 +34,4 @@ void tuple_print(void (*print)(void *env, const char *fmt, ...), void *env, mp_o mp_obj_t tuple_unary_op(int op, mp_obj_t self_in); mp_obj_t tuple_binary_op(int op, mp_obj_t lhs, mp_obj_t rhs); mp_obj_t tuple_subscr(mp_obj_t base, mp_obj_t index, mp_obj_t value); +mp_obj_t tuple_getiter(mp_obj_t o_in); diff --git a/tests/basics/namedtuple1.py b/tests/basics/namedtuple1.py index 98628cc545..05dd15bd17 100644 --- a/tests/basics/namedtuple1.py +++ b/tests/basics/namedtuple1.py @@ -16,6 +16,8 @@ print(bool(t)) print(t + t) print(t * 3) +print([f for f in t]) + print(isinstance(t, tuple)) try: