This commit is contained in:
nora 2023-04-11 11:11:54 +02:00
parent d5f4d6e8ce
commit d97dbd6a94
2 changed files with 11 additions and 11 deletions

View file

@ -224,6 +224,13 @@ impl Build {
}
pub fn get_diags(&self) -> Result<(Vec<Diagnostic>, Vec<rustfix::Suggestion>)> {
fn grab_rustc_diags(output: &str) -> Result<Vec<Diagnostic>> {
serde_json::Deserializer::from_str(output)
.into_iter::<Diagnostic>()
.collect::<Result<_, _>>()
.map_err(Into::into)
}
let inner = &self.inner;
fn grab_cargo_diags(output: &str) -> Result<Vec<Diagnostic>> {
@ -234,17 +241,10 @@ impl Build {
Ok(messages
.into_iter()
.filter(|msg| msg.reason == "compiler-message")
.flat_map(|msg| msg.message)
.filter_map(|msg| msg.message)
.collect())
}
fn grab_rustc_diags(output: &str) -> Result<Vec<Diagnostic>> {
serde_json::Deserializer::from_str(&output)
.into_iter::<Diagnostic>()
.collect::<Result<_, _>>()
.map_err(Into::into)
}
let diags = match &inner.lint_mode {
BuildMode::Cargo { subcommand } => {
let mut cmd = self.cmd("cargo");
@ -392,7 +392,7 @@ fn read_script_output<'a>(stdout: &'a str, stderr: &'a str) -> (&'a str, LintMod
is_marked_output(stdout)
.map(|mode| (stdout, mode))
.or(is_marked_output(stderr).map(|mode| (stderr, mode)))
.unwrap_or_else(|| (stdout, LintMode::Cargo))
.unwrap_or((stdout, LintMode::Cargo))
}
#[cfg(test)]

View file

@ -76,7 +76,7 @@ impl Minimizer {
let desired_suggestions = suggestions
.iter()
.filter(|sugg| sugg.message.contains("unused import"))
.cloned()
.copied()
.cloned()
.collect::<Vec<_>>();
@ -300,7 +300,7 @@ impl VisitMut for FindUnusedFunction<'_> {
should_retain
}
_ => true,
})
});
}
syn::visit_mut::visit_item_mod_mut(self, module);