Optimize error info

This commit is contained in:
lynskylate
2019-08-09 21:12:36 +08:00
parent 3775e04dcd
commit ab98775bd2

View File

@@ -31,7 +31,12 @@ pub fn boolval(vm: &VirtualMachine, obj: PyObjectRef) -> PyResult<bool> {
let bool_obj = vm.invoke(method, PyFuncArgs::default())?;
match bool_obj.payload::<PyInt>() {
Some(int_obj) => !int_obj.as_bigint().is_zero(),
None => return Err(vm.new_type_error(String::from(""))),
None => {
return Err(vm.new_type_error(format!(
"__bool__ should return bool, returned type {}",
bool_obj.class().name
)))
}
}
}
None => match vm.get_method(obj.clone(), "__len__") {