DiagnosticBuilder::eager_diagnostic
This lets us avoid the use of `DiagnosticBuilder::into_diagnostic` in miri, when then means that `DiagnosticBuilder::into_diagnostic` can become private, being now only used by `stash` and `buffer`.
DiagCtxt
EarlyDiagCtxt
is_lint
Level::Error
DiagnosticBuilder
Emitter
SubDiagnostic::render_span
_ == _ || _ == _
matches!(_, _ | _)