diff --git a/crates/ide/src/display.rs b/crates/ide/src/display.rs index 5bb065fc1631..2484dbbf12bc 100644 --- a/crates/ide/src/display.rs +++ b/crates/ide/src/display.rs @@ -41,11 +41,12 @@ pub(crate) fn function_declaration(node: &ast::Fn) -> String { format_to!(buf, "{}", type_params); } if let Some(param_list) = node.param_list() { - let mut params = match param_list.self_param() { - Some(self_param) => vec![self_param.to_string()], - None => vec![], - }; - params.extend(param_list.params().map(|param| param.to_string())); + let params: Vec = param_list + .self_param() + .into_iter() + .map(|self_param| self_param.to_string()) + .chain(param_list.params().map(|param| param.to_string())) + .collect(); // Useful to inline parameters format_to!(buf, "({})", params.join(", ")); }