@@ -610,18 +610,14 @@ impl Client {
610610
611611 let items = match response {
612612 Some(lsp::GotoDefinitionResponse::Scalar(location)) => vec![location],
613− Some(lsp::GotoDefinitionResponse::Array(location_vec)) => location_vec,
614− Some(lsp::GotoDefinitionResponse::Link(location_link_vec)) => {
615− let mut location_vec: Vec<lsp::Location> = Vec::new();
616− location_link_vec.into_iter().for_each(|location_link| {
617− let link = lsp::Location {
618− uri: location_link.target_uri,
619− range: location_link.target_range,
620− };
621− location_vec.push(link)
622− });
623− location_vec
624− }
613+ Some(lsp::GotoDefinitionResponse::Array(locations)) => locations,
614+ Some(lsp::GotoDefinitionResponse::Link(locations)) => locations
615+ .into_iter()
616+ .map(|location_link| lsp::Location {
617+ uri: location_link.target_uri,
618+ range: location_link.target_range,
619+ })
620+ .collect(),
625621 None => Vec::new(),
626622 };
627623