On Thu, Feb 15, 2018 at 8:06 PM, Zefram <zefram@fysh.org> wrote:
> All of these bits of behaviour are individually intentional, but they
> have the undesirable effect of losing synchronisation between the warning
> stream and the error stream. This can't be fixed without some fairly big
> change to the way compile-time diagnostics are managed. We could perhaps
> abandon the queuing of errors, aborting compilation immediately on the
> first error; in this case that would lead to emitting the "syntax error"
> message and nothing else. Doing that would inevitably garner complaints
> about situations in which multiple error messages are actually helpful.
> Any approach around shuffling the order in which messages are emitted
> would be hideously complicated. Maybe we could do something else to
> distinguish between warnings and errors, to draw greater attention to
> the first error even if it's not the first message emitted.
>
Naïve suggestion: On the first error, make all warnings fatal for the
duration of the queue, so the warnings are queued with the errors?
Eirik