diff --git a/vm/src/pyobject.rs b/vm/src/pyobject.rs index 7afabb2b5..b4be8c965 100644 --- a/vm/src/pyobject.rs +++ b/vm/src/pyobject.rs @@ -390,7 +390,8 @@ where obj.downcast() .map_err(|obj| pyref_payload_error(vm, class, obj)) } else { - T::special_retrieve(vm, obj.clone()).unwrap_or(Err(pyref_type_error(vm, class, obj))) + T::special_retrieve(vm, obj.clone()) + .unwrap_or_else(|| Err(pyref_type_error(vm, class, obj))) } } }