summaryrefslogtreecommitdiff
path: root/py/objslice.c
diff options
context:
space:
mode:
authorScott Shawcroft <scott.shawcroft@gmail.com>2017-02-24 16:48:01 +0100
committerScott Shawcroft <scott.shawcroft@gmail.com>2017-02-24 16:48:01 +0100
commit7dbe4e98a7f7910809fa9f0aa68d01993e1bb8b8 (patch)
tree61b76ad1080d4eb9c0db4ae90dca951a7bcca593 /py/objslice.c
parent75d6abe3bb57cf75915a056e5e98e4b79efec2ad (diff)
Make slice make_new match mp_make_new_fun_t exactly, check the input type and enable it for qemu tests.
Diffstat (limited to 'py/objslice.c')
-rw-r--r--py/objslice.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/py/objslice.c b/py/objslice.c
index 6c9592628..65a991884 100644
--- a/py/objslice.c
+++ b/py/objslice.c
@@ -129,7 +129,7 @@ STATIC void slice_attr(mp_obj_t self_in, qstr attr, mp_obj_t *dest) {
}
STATIC mp_obj_t slice_make_new(const mp_obj_type_t *type,
- mp_uint_t n_args, mp_uint_t n_kw, const mp_obj_t *args);
+ size_t n_args, size_t n_kw, const mp_obj_t *args);
#endif
const mp_obj_type_t mp_type_slice = {
@@ -153,7 +153,10 @@ mp_obj_t mp_obj_new_slice(mp_obj_t ostart, mp_obj_t ostop, mp_obj_t ostep) {
#if MICROPY_PY_BUILTINS_SLICE_ATTRS
STATIC mp_obj_t slice_make_new(const mp_obj_type_t *type,
- mp_uint_t n_args, mp_uint_t n_kw, const mp_obj_t *args) {
+ size_t n_args, size_t n_kw, const mp_obj_t *args) {
+ if (type != &mp_type_slice) {
+ mp_raise_NotImplementedError("Cannot subclass slice");
+ }
// check number of arguments
mp_arg_check_num(n_args, n_kw, 1, 3, false);