refactor: Make -Ztrack-diagnostics emit like a note

This commit is contained in:
Scott Schafer
2025-06-02 23:40:01 -06:00
parent d6120810e5
commit 6bef238b63
20 changed files with 66 additions and 40 deletions

View File

@@ -372,13 +372,16 @@ impl Diagnostic {
};
let level = diag.level.to_str();
let spans = DiagnosticSpan::from_multispan(&diag.span, &args, je);
let children = diag
let mut children: Vec<Diagnostic> = diag
.children
.iter()
.map(|c| Diagnostic::from_sub_diagnostic(c, &args, je))
.chain(sugg)
.collect();
if je.track_diagnostics && diag.span.has_primary_spans() && !diag.span.is_dummy() {
children
.insert(0, Diagnostic::from_sub_diagnostic(&diag.emitted_at_sub_diag(), &args, je));
}
let buf = BufWriter::default();
let mut dst: Destination = Box::new(buf.clone());
let short = je.json_rendered.short();