https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106285

--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Re the grouping of related notes, I notice that with -fdiagnostics-format=json
there is no proper structure. All the notes are just children of the error, at
the same level. So the nesting is something like:

error: no matching function for call to ... {
  location of failed call site,
  candidate: decl,
  reason for failure,
  location of decl,
  candidate: decl,
  reason for failure,
  location of decl,
  candidate: decl,
  reason for failure,
  location of decl,
}

Ideally we'd have this nesting:

error: no matching function for call to ... {
  location of failed call site,
  candidate: decl {
    reason for failure,
    location of decl
  },
  candidate: decl {
    reason for failure,
    location of decl
  },
  candidate: decl {
    reason for failure,
    location of decl
  },
}

i.e. the error would have the candidates as direct children, but then the
locations and failure reason for each candidate would be children of the
candidate.

This would allow IDEs to group the info about each candidate and optionally
collapse it. With the current (lack of) structure that's not possible. Every
note is at the same level and there's no indication which ones are related to
each other.

Reply via email to