py/objarray: Disallow memoryview addition.
Following CPython. This is important for subsequent commits to work correctly. Signed-off-by: Damien George <damien@micropython.org>
This commit is contained in:
parent
9accb7dd44
commit
ca9068e0ef
|
@ -292,6 +292,12 @@ STATIC mp_obj_t array_binary_op(mp_binary_op_t op, mp_obj_t lhs_in, mp_obj_t rhs
|
|||
mp_obj_array_t *lhs = MP_OBJ_TO_PTR(lhs_in);
|
||||
switch (op) {
|
||||
case MP_BINARY_OP_ADD: {
|
||||
#if MICROPY_PY_BUILTINS_MEMORYVIEW
|
||||
if (lhs->base.type == &mp_type_memoryview) {
|
||||
return MP_OBJ_NULL; // op not supported
|
||||
}
|
||||
#endif
|
||||
|
||||
// allow to add anything that has the buffer protocol (extension to CPython)
|
||||
mp_buffer_info_t lhs_bufinfo;
|
||||
mp_buffer_info_t rhs_bufinfo;
|
||||
|
|
|
@ -6,8 +6,18 @@ except:
|
|||
raise SystemExit
|
||||
|
||||
# unsupported binary operators
|
||||
try:
|
||||
memoryview(b"") + b""
|
||||
except TypeError:
|
||||
print("TypeError")
|
||||
|
||||
try:
|
||||
memoryview(b"") + memoryview(b"")
|
||||
except TypeError:
|
||||
print("TypeError")
|
||||
|
||||
try:
|
||||
m = memoryview(bytearray())
|
||||
m += bytearray()
|
||||
except TypeError:
|
||||
print('TypeError')
|
||||
print("TypeError")
|
||||
|
|
Loading…
Reference in New Issue