From f73702879969bfb98505d329aaabc8f3a4192a82 Mon Sep 17 00:00:00 2001 From: Jeong YunWon <69878+youknowone@users.noreply.github.com> Date: Sat, 29 Jan 2022 11:45:40 +0900 Subject: [PATCH] dedent blocks --- vm/src/builtins/pytype.rs | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/vm/src/builtins/pytype.rs b/vm/src/builtins/pytype.rs index f727c9a282..d5eab875d2 100644 --- a/vm/src/builtins/pytype.rs +++ b/vm/src/builtins/pytype.rs @@ -553,24 +553,21 @@ impl PyType { #[pyproperty(magic, setter)] fn set_name(&self, value: PyObjectRef, vm: &VirtualMachine) -> PyResult<()> { if !self.slots.flags.has_feature(PyTypeFlags::HEAPTYPE) { - Err(vm.new_type_error(format!( + return Err(vm.new_type_error(format!( "cannot set '{}' attribute of immutable type '{}'", "__name__", self.name() - ))) - } else { - match value.downcast_ref::().map(|m| m.as_str()) { - Some(name) => { - *self.slots.name.write() = Some(name.to_string()); - Ok(()) - } - None => Err(vm.new_type_error(format!( - "can only assign string to {}.__name__, not '{}'", - self.name(), - value.class().name() - ))), - } + ))); } + let name = value.downcast_ref::().ok_or_else(|| { + vm.new_type_error(format!( + "can only assign string to {}.__name__, not '{}'", + self.name(), + value.class().name() + )) + })?; + *self.slots.name.write() = Some(name.as_str().to_string()); + Ok(()) } #[pyproperty(magic)]