diff options
| author | Jeff Epler <jepler@gmail.com> | 2019-11-26 08:33:22 -0600 |
|---|---|---|
| committer | Jeff Epler <jepler@gmail.com> | 2019-11-26 08:45:40 -0600 |
| commit | 8f24ea48fbddf19429e02a211bae62c3913e4f9d (patch) | |
| tree | b77be424990e5a17c4b3c13556523050d40375d1 | |
| parent | e5dd78d393d492d52dfd0817547219f378f6dbee (diff) | |
time: struct_time: allow construction from another struct_time
This doesn't cover ALL the cases that CPython permits for construction
of a struct_time, but it at least makes constructing from any namedtuple
work.
Closes: #2326
| -rw-r--r-- | shared-bindings/time/__init__.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/shared-bindings/time/__init__.c b/shared-bindings/time/__init__.c index 2654de09a..7f9e5816e 100644 --- a/shared-bindings/time/__init__.c +++ b/shared-bindings/time/__init__.c @@ -87,7 +87,7 @@ mp_obj_t struct_time_make_new(const mp_obj_type_t *type, size_t n_args, const mp if (n_args != 1 || (kw_args != NULL && kw_args->used > 0)) { mp_raise_TypeError(translate("time.struct_time() takes exactly 1 argument")); } - if (!MP_OBJ_IS_TYPE(args[0], &mp_type_tuple) || ((mp_obj_tuple_t*) MP_OBJ_TO_PTR(args[0]))->len != 9) { + if (mp_obj_get_type(args[0])->getiter != mp_obj_tuple_getiter || ((mp_obj_tuple_t*) MP_OBJ_TO_PTR(args[0]))->len != 9) { mp_raise_TypeError(translate("time.struct_time() takes a 9-sequence")); } |
