From d279bcff8a18c2153557c2e83cd397f266b5199d Mon Sep 17 00:00:00 2001 From: Damien George <damien.p.george@gmail.com> Date: Thu, 16 Mar 2017 14:30:04 +1100 Subject: [PATCH] py/objstr: Fix eager optimisation of str/bytes addition. The RHS can only be returned if it is the same type as the LHS. --- py/objstr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/py/objstr.c b/py/objstr.c index 17d06f88e..2331004a5 100644 --- a/py/objstr.c +++ b/py/objstr.c @@ -354,7 +354,7 @@ mp_obj_t mp_obj_str_binary_op(mp_uint_t op, mp_obj_t lhs_in, mp_obj_t rhs_in) { switch (op) { case MP_BINARY_OP_ADD: case MP_BINARY_OP_INPLACE_ADD: { - if (lhs_len == 0) { + if (lhs_len == 0 && mp_obj_get_type(rhs_in) == lhs_type) { return rhs_in; } if (rhs_len == 0) { -- GitLab