Use built-in method
@@ -187,14 +187,6 @@ impl FunctionSignature {
impl From<&'_ ast::FnDef> for FunctionSignature {
fn from(node: &ast::FnDef) -> FunctionSignature {
- fn strip_leading_underscore(name: String) -> String {
- if name.starts_with("_") {
- name.get(1..).unwrap_or_default().to_string()
- } else {
- name
- }
- }
-
fn param_list(node: &ast::FnDef) -> (bool, Vec<String>, Vec<String>) {
let mut res = vec![];
let mut res_types = vec![];
@@ -238,15 +230,17 @@ impl From<&'_ ast::FnDef> for FunctionSignature {
param_list
.params()
.map(|param| {
- Some(strip_leading_underscore(
+ Some(
param
.pat()?
.syntax()
.descendants()
.find_map(ast::Name::cast)?
.text()
- .to_string(),
- ))
+ .to_string()
+ .trim_start_matches('_')
+ .into(),
+ )
})
.map(|param| param.unwrap_or_default()),
);
