diff --git a/src/commands/ls_remote.rs b/src/commands/ls_remote.rs index d120d7a..fe5d276 100644 --- a/src/commands/ls_remote.rs +++ b/src/commands/ls_remote.rs @@ -26,23 +26,17 @@ impl super::command::Command for LsRemote { let mut all_versions = remote_node_index::list(&config.node_dist_mirror, &self.sort)?; if let Some(lts) = &self.lts { - all_versions = all_versions - .into_iter() - .filter(|v| match lts { - None => v.lts.is_some(), - Some(lts) => v - .lts - .as_ref() - .is_some_and(|this_lts| this_lts.eq_ignore_ascii_case(lts)), - }) - .collect(); + all_versions.retain(|v| match lts { + None => v.lts.is_some(), + Some(lts) => v + .lts + .as_ref() + .is_some_and(|this_lts| this_lts.eq_ignore_ascii_case(lts)), + }); } if let Some(filter) = &self.filter { - all_versions = all_versions - .into_iter() - .filter(|v| filter.matches(&v.version, config)) - .collect(); + all_versions.retain(|v| filter.matches(&v.version, config)); } for version in &all_versions {