diff --git a/vm/src/anystr.rs b/vm/src/anystr.rs index 055eb7ad3..ba2652109 100644 --- a/vm/src/anystr.rs +++ b/vm/src/anystr.rs @@ -200,25 +200,24 @@ pub trait AnyStr<'s>: 's { F: Fn(&Self, &T) -> bool, { let (affix, range) = args.get_value(self.bytes_len()); - if range.is_normal() { - let value = self.get_bytes(range); - single_or_tuple_any( - affix, - &|s: &T| Ok(func(value, s)), - &|o| { - format!( - "{} first arg must be {} or a tuple of {}, not {}", - func_name, - py_type_name, - py_type_name, - o.class(), - ) - }, - vm, - ) - } else { - Ok(false) + if !range.is_normal() { + return Ok(false); } + let value = self.get_bytes(range); + single_or_tuple_any( + affix, + &|s: &T| Ok(func(value, s)), + &|o| { + format!( + "{} first arg must be {} or a tuple of {}, not {}", + func_name, + py_type_name, + py_type_name, + o.class(), + ) + }, + vm, + ) } #[inline] diff --git a/vm/src/builtins/float.rs b/vm/src/builtins/float.rs index 970757be8..d2c1af150 100644 --- a/vm/src/builtins/float.rs +++ b/vm/src/builtins/float.rs @@ -171,9 +171,7 @@ impl PyFloat { OptionalArg::Present(val) => { let val = if cls.is(&vm.ctx.types.float_type) { match val.downcast_exact::(vm) { - Ok(f) => { - return Ok(f); - } + Ok(f) => return Ok(f), Err(val) => val, } } else { diff --git a/vm/src/builtins/function.rs b/vm/src/builtins/function.rs index d0b3d1eae..4920be64d 100644 --- a/vm/src/builtins/function.rs +++ b/vm/src/builtins/function.rs @@ -218,21 +218,19 @@ impl PyFunction { .zip(&*code.varnames) .skip(code.arg_count) .take(code.kwonlyarg_count) + .filter(|(slot, _)| slot.is_none()) { - if slot.is_none() { - if let Some(defaults) = &get_defaults!().1 { - if let Some(default) = defaults.get_item_option(kwarg.clone(), vm)? { - *slot = Some(default); - continue; - } + if let Some(defaults) = &get_defaults!().1 { + if let Some(default) = defaults.get_item_option(kwarg.clone(), vm)? { + *slot = Some(default); + continue; } - - // No default value and not specified. - return Err(vm.new_type_error(format!( - "Missing required kw only argument: '{}'", - kwarg - ))); } + + // No default value and not specified. + return Err( + vm.new_type_error(format!("Missing required kw only argument: '{}'", kwarg)) + ); } }