summaryrefslogtreecommitdiffstatshomepage
path: root/py/runtime.c
diff options
context:
space:
mode:
Diffstat (limited to 'py/runtime.c')
-rw-r--r--py/runtime.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/py/runtime.c b/py/runtime.c
index 1f4a524b70..6590e8e0d0 100644
--- a/py/runtime.c
+++ b/py/runtime.c
@@ -859,10 +859,13 @@ STATIC void rt_load_method_maybe(mp_obj_t base, qstr attr, mp_obj_t *dest) {
// return a bound method, with self being the type of this object
dest[0] = ((mp_obj_static_class_method_t*)elem->value)->fun;
dest[1] = mp_obj_get_type(base);
- } else {
+ } else if (mp_obj_is_callable(elem->value)) {
// return a bound method, with self being this object
- dest[0] = (mp_obj_t)elem->value;
+ dest[0] = elem->value;
dest[1] = base;
+ } else {
+ // class member is a value, so just return that value
+ dest[0] = elem->value;
}
}
}