py: Use mp_not_implemented consistently for not implemented features.
diff --git a/py/argcheck.c b/py/argcheck.c
index 1be576d..e774406 100644
--- a/py/argcheck.c
+++ b/py/argcheck.c
@@ -146,7 +146,6 @@
#if MICROPY_CPYTHON_COMPAT
NORETURN void mp_arg_error_unimpl_kw(void) {
- nlr_raise(mp_obj_new_exception_msg(&mp_type_NotImplementedError,
- "keyword argument(s) not yet implemented - use normal args instead"));
+ mp_not_implemented("keyword argument(s) not yet implemented - use normal args instead");
}
#endif
diff --git a/py/objarray.c b/py/objarray.c
index b14ad5a..f5ea794 100644
--- a/py/objarray.c
+++ b/py/objarray.c
@@ -365,8 +365,7 @@
} else if (MP_OBJ_IS_TYPE(index_in, &mp_type_slice)) {
mp_bound_slice_t slice;
if (!mp_seq_get_fast_slice_indexes(o->len, index_in, &slice)) {
- nlr_raise(mp_obj_new_exception_msg(&mp_type_NotImplementedError,
- "only slices with step=1 (aka None) are supported"));
+ mp_not_implemented("only slices with step=1 (aka None) are supported");
}
if (value != MP_OBJ_SENTINEL) {
#if MICROPY_PY_ARRAY_SLICE_ASSIGN
diff --git a/py/objstr.c b/py/objstr.c
index 4a0705a..274e76d 100644
--- a/py/objstr.c
+++ b/py/objstr.c
@@ -391,8 +391,7 @@
if (MP_OBJ_IS_TYPE(index, &mp_type_slice)) {
mp_bound_slice_t slice;
if (!mp_seq_get_fast_slice_indexes(self_len, index, &slice)) {
- nlr_raise(mp_obj_new_exception_msg(&mp_type_NotImplementedError,
- "only slices with step=1 (aka None) are supported"));
+ mp_not_implemented("only slices with step=1 (aka None) are supported");
}
return mp_obj_new_str_of_type(type, self_data + slice.start, slice.stop - slice.start);
}
@@ -975,7 +974,7 @@
arg = key_elem->value;
}
if (*lookup) {
- nlr_raise(mp_obj_new_exception_msg(&mp_type_NotImplementedError, "attributes not supported yet"));
+ mp_not_implemented("attributes not supported yet");
}
vstr_free(field_name);
field_name = NULL;
diff --git a/py/objstrunicode.c b/py/objstrunicode.c
index 0bb6e04..1744925 100644
--- a/py/objstrunicode.c
+++ b/py/objstrunicode.c
@@ -178,8 +178,7 @@
mp_obj_t ostart, ostop, ostep;
mp_obj_slice_get(index, &ostart, &ostop, &ostep);
if (ostep != mp_const_none && ostep != MP_OBJ_NEW_SMALL_INT(1)) {
- nlr_raise(mp_obj_new_exception_msg(&mp_type_NotImplementedError,
- "only slices with step=1 (aka None) are supported"));
+ mp_not_implemented("only slices with step=1 (aka None) are supported");
}
const byte *pstart, *pstop;
diff --git a/py/objtuple.c b/py/objtuple.c
index 2fd1815..9aac1ce 100644
--- a/py/objtuple.c
+++ b/py/objtuple.c
@@ -183,8 +183,7 @@
if (MP_OBJ_IS_TYPE(index, &mp_type_slice)) {
mp_bound_slice_t slice;
if (!mp_seq_get_fast_slice_indexes(self->len, index, &slice)) {
- nlr_raise(mp_obj_new_exception_msg(&mp_type_NotImplementedError,
- "only slices with step=1 (aka None) are supported"));
+ mp_not_implemented("only slices with step=1 (aka None) are supported");
}
mp_obj_tuple_t *res = mp_obj_new_tuple(slice.stop - slice.start, NULL);
mp_seq_copy(res->items, self->items + slice.start, res->len, mp_obj_t);