py/runtime: If inplace binop fails then try corresponding normal binop.

The code that handles inplace-operator to normal-binary-operator fallback
is moved in this commit from py/objtype.c to py/runtime.c, making it apply
to all types, not just user classes.

Signed-off-by: Damien George <damien@micropython.org>
This commit is contained in:
Damien George
2023-05-12 23:16:37 +10:00
parent 4b57330465
commit ea7031faff
5 changed files with 35 additions and 12 deletions

View File

@@ -10,3 +10,13 @@ for i in (-4, -2, 0, 2, 4):
a = '123'
c = a * 3
print(a, c)
# check inplace multiplication
a = '456'
a *= 3
print(a)
# check reverse inplace multiplication
a = 3
a *= '789'
print(a)