Skip to content

Commit f45d2f0

Browse files
committed
avoid to_pystr to generate type name
1 parent 96926da commit f45d2f0

File tree

4 files changed

+8
-8
lines changed

4 files changed

+8
-8
lines changed

vm/src/format.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -910,9 +910,10 @@ fn call_object_format(
910910

911911
let result = vm.call_method(&argument, "__format__", vec![returned_type])?;
912912
if !objtype::isinstance(&result, &vm.ctx.types.str_type) {
913-
let result_type = result.class();
914-
let actual_type = vm.to_pystr(&result_type)?;
915-
return Err(vm.new_type_error(format!("__format__ must return a str, not {}", actual_type)));
913+
return Err(vm.new_type_error(format!(
914+
"__format__ must return a str, not {}",
915+
&result.class().name
916+
)));
916917
}
917918
Ok(result)
918919
}

vm/src/function.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,8 +128,8 @@ impl PyFuncArgs {
128128
if isinstance(&kwarg, &ty) {
129129
Ok(Some(kwarg))
130130
} else {
131-
let expected_ty_name = vm.to_pystr(&ty)?;
132-
let actual_ty_name = vm.to_pystr(&kwarg.class())?;
131+
let expected_ty_name = &ty.name;
132+
let actual_ty_name = &kwarg.class().name;
133133
Err(vm.new_type_error(format!(
134134
"argument of type {} is required for named parameter `{}` (got: {})",
135135
expected_ty_name, key, actual_ty_name

vm/src/obj/objbool.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,8 +155,7 @@ impl PyBool {
155155
#[pyslot]
156156
fn tp_new(zelf: PyObjectRef, x: OptionalArg<PyObjectRef>, vm: &VirtualMachine) -> PyResult {
157157
if !objtype::isinstance(&zelf, &vm.ctx.types.type_type) {
158-
let zelf_typ = zelf.class();
159-
let actual_type = vm.to_pystr(&zelf_typ)?;
158+
let actual_type = &zelf.class().name;
160159
return Err(vm.new_type_error(format!(
161160
"requires a 'type' object but received a '{}'",
162161
actual_type

vm/src/obj/objobject.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ impl PyBaseObject {
194194
Ok(())
195195
}
196196
Err(value) => {
197-
let type_repr = vm.to_pystr(&value.class())?;
197+
let type_repr = &value.class().name;
198198
Err(vm.new_type_error(format!(
199199
"__class__ must be set to a class, not '{}' object",
200200
type_repr

0 commit comments

Comments
 (0)