pub trait Emitter: Translate {
Show 13 methods
// Required methods
fn emit_diagnostic(&mut self, diag: DiagInner, registry: &Registry);
fn source_map(&self) -> Option<&SourceMap>;
// Provided methods
fn emit_artifact_notification(&mut self, _path: &Path, _artifact_type: &str) { ... }
fn emit_future_breakage_report(
&mut self,
_diags: Vec<DiagInner>,
_registry: &Registry,
) { ... }
fn emit_unused_externs(
&mut self,
_lint_level: Level,
_unused_externs: &[&str],
) { ... }
fn should_show_explain(&self) -> bool { ... }
fn supports_color(&self) -> bool { ... }
fn primary_span_formatted(
&mut self,
primary_span: &mut MultiSpan,
suggestions: &mut Vec<CodeSuggestion>,
fluent_args: &FluentArgs<'_>,
) { ... }
fn fix_multispans_in_extern_macros_and_render_macro_backtrace(
&self,
span: &mut MultiSpan,
children: &mut Vec<Subdiag>,
level: &Level,
backtrace: bool,
) { ... }
fn render_multispans_macro_backtrace(
&self,
span: &mut MultiSpan,
children: &mut Vec<Subdiag>,
backtrace: bool,
) { ... }
fn render_multispan_macro_backtrace(
&self,
span: &mut MultiSpan,
always_backtrace: bool,
) { ... }
fn fix_multispans_in_extern_macros(
&self,
span: &mut MultiSpan,
children: &mut Vec<Subdiag>,
) { ... }
fn fix_multispan_in_extern_macros(&self, span: &mut MultiSpan) { ... }
}
Expand description
Emitter trait for emitting errors.
Required Methods§
Sourcefn emit_diagnostic(&mut self, diag: DiagInner, registry: &Registry)
fn emit_diagnostic(&mut self, diag: DiagInner, registry: &Registry)
Emit a structured diagnostic.
fn source_map(&self) -> Option<&SourceMap>
Provided Methods§
Sourcefn emit_artifact_notification(&mut self, _path: &Path, _artifact_type: &str)
fn emit_artifact_notification(&mut self, _path: &Path, _artifact_type: &str)
Emit a notification that an artifact has been output. Currently only supported for the JSON format.
Sourcefn emit_future_breakage_report(
&mut self,
_diags: Vec<DiagInner>,
_registry: &Registry,
)
fn emit_future_breakage_report( &mut self, _diags: Vec<DiagInner>, _registry: &Registry, )
Emit a report about future breakage. Currently only supported for the JSON format.
Sourcefn emit_unused_externs(&mut self, _lint_level: Level, _unused_externs: &[&str])
fn emit_unused_externs(&mut self, _lint_level: Level, _unused_externs: &[&str])
Emit list of unused externs. Currently only supported for the JSON format.
Sourcefn should_show_explain(&self) -> bool
fn should_show_explain(&self) -> bool
Checks if should show explanations about “rustc –explain”
Sourcefn supports_color(&self) -> bool
fn supports_color(&self) -> bool
Checks if we can use colors in the current output stream.
Sourcefn primary_span_formatted(
&mut self,
primary_span: &mut MultiSpan,
suggestions: &mut Vec<CodeSuggestion>,
fluent_args: &FluentArgs<'_>,
)
fn primary_span_formatted( &mut self, primary_span: &mut MultiSpan, suggestions: &mut Vec<CodeSuggestion>, fluent_args: &FluentArgs<'_>, )
Formats the substitutions of the primary_span
There are a lot of conditions to this method, but in short:
-
If the current
DiagInner
has only one visibleCodeSuggestion
, we format thehelp
suggestion depending on the content of the substitutions. In that case, we modify the span and clear the suggestions. -
If the current
DiagInner
has multiple suggestions, we leaveprimary_span
and the suggestions untouched.