tests: Add test for when instance member overrides class member.
This commit is contained in:
parent
5b7aa294e0
commit
c33ecb83ba
@ -457,7 +457,7 @@ STATIC mp_obj_t instance_binary_op(mp_uint_t op, mp_obj_t lhs_in, mp_obj_t rhs_i
|
||||
}
|
||||
|
||||
void mp_obj_instance_load_attr(mp_obj_t self_in, qstr attr, mp_obj_t *dest) {
|
||||
// logic: look in obj members then class locals (TODO check this against CPython)
|
||||
// logic: look in instance members then class locals
|
||||
assert(is_instance_type(mp_obj_get_type(self_in)));
|
||||
mp_obj_instance_t *self = self_in;
|
||||
|
||||
|
10
tests/basics/class_instance_override.py
Normal file
10
tests/basics/class_instance_override.py
Normal file
@ -0,0 +1,10 @@
|
||||
# test that we can override a class method with an instance method
|
||||
|
||||
class A:
|
||||
def foo(self):
|
||||
return 1
|
||||
|
||||
a = A()
|
||||
print(a.foo())
|
||||
a.foo = lambda:2
|
||||
print(a.foo())
|
Loading…
Reference in New Issue
Block a user