fix clippy (#10659)

This pr fix clippy warnings in latest clippy version(1.72.0):

Unfortunally it's not easy to handle for [try
fold](https://rust-lang.github.io/rust-clippy/master/index.html#/manual_try_fold)
warning in `start command`

Refer to known issue:
> This lint doesn’t take into account whether a function does something
on the failure case, i.e., whether short-circuiting will affect
behavior. Refactoring to try_fold is not desirable in those cases.

That's the case for our code, which does something on the failure case.

So this pr is making a little refactor on `try_commands`.
This commit is contained in:
WindSoilder
2023-10-09 22:31:15 +08:00
committed by GitHub
parent 2ef34a3b4b
commit 0c67d742f0
12 changed files with 56 additions and 76 deletions

View File

@ -212,6 +212,7 @@ macro_rules! nu_with_plugins {
}
use crate::{Outcome, NATIVE_PATH_ENV_VAR};
use std::fmt::Write;
use std::{
path::Path,
process::{Command, Stdio},
@ -299,14 +300,14 @@ pub fn nu_with_plugin_run_test(cwd: impl AsRef<Path>, plugins: &[&str], command:
let registrations: String = plugins
.iter()
.map(|plugin_name| {
.fold(String::new(), |mut output, plugin_name| {
let plugin = with_exe(plugin_name);
let plugin_path = nu_path::canonicalize_with(&plugin, &test_bins)
.unwrap_or_else(|_| panic!("failed to canonicalize plugin {} path", &plugin));
let plugin_path = plugin_path.to_string_lossy();
format!("register {plugin_path};")
})
.collect();
let _ = write!(output, "register {plugin_path};");
output
});
let commands = format!("{registrations}{command}");
let target_cwd = crate::fs::in_directory(&cwd);