in src/resolver.rs [2408:2442]
fn print_human(
&self,
out: &Arc<dyn Out>,
report: &ResolveReport<'_>,
_cfg: &Config,
suggest: Option<&Suggest>,
) -> Result<(), std::io::Error> {
writeln!(out, "Vetting Failed!");
writeln!(out);
writeln!(out, "{} unvetted dependencies:", self.failures.len());
let mut failures = self
.failures
.iter()
.map(|(failed_idx, failure)| (&report.graph.nodes[*failed_idx], failure))
.collect::<Vec<_>>();
failures.sort_by_key(|(failed, _)| &failed.version);
failures.sort_by_key(|(failed, _)| failed.name);
for (failed_package, failed_audit) in failures {
let criteria = report
.criteria_mapper
.criteria_names(&failed_audit.criteria_failures)
.collect::<Vec<_>>();
let label = format!(" {}:{}", failed_package.name, failed_package.version);
writeln!(out, "{label} missing {criteria:?}");
}
// Suggest output generally requires hitting the network.
if let Some(suggest) = suggest {
writeln!(out);
suggest.print_human(out, report)?;
}
Ok(())
}