summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Epler <jepler@gmail.com>2019-11-26 08:33:22 -0600
committerJeff Epler <jepler@gmail.com>2019-11-26 08:45:40 -0600
commit8f24ea48fbddf19429e02a211bae62c3913e4f9d (patch)
treeb77be424990e5a17c4b3c13556523050d40375d1
parente5dd78d393d492d52dfd0817547219f378f6dbee (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__.c2
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"));
}