pub trait Emitter: Translate {
Show 13 methods // Required methods fn emit_diagnostic(&mut self, diag: &Diagnostic); fn source_map(&self) -> Option<&Lrc<SourceMap>>; // Provided methods fn emit_artifact_notification(&mut self, _path: &Path, _artifact_type: &str) { ... } fn emit_future_breakage_report(&mut self, _diags: Vec<Diagnostic>) { ... } 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<'a>( &mut self, diag: &'a Diagnostic, fluent_args: &FluentArgs<'_> ) -> (MultiSpan, &'a [CodeSuggestion]) { ... } fn fix_multispans_in_extern_macros_and_render_macro_backtrace( &self, span: &mut MultiSpan, children: &mut Vec<SubDiagnostic>, level: &Level, backtrace: bool ) { ... } fn render_multispans_macro_backtrace( &self, span: &mut MultiSpan, children: &mut Vec<SubDiagnostic>, 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<SubDiagnostic> ) { ... } fn fix_multispan_in_extern_macros(&self, span: &mut MultiSpan) { ... }
}
Expand description

Emitter trait for emitting errors.

Required Methods§

source

fn emit_diagnostic(&mut self, diag: &Diagnostic)

Emit a structured diagnostic.

source

fn source_map(&self) -> Option<&Lrc<SourceMap>>

Provided Methods§

source

fn emit_artifact_notification(&mut self, _path: &Path, _artifact_type: &str)

Emit a notification that an artifact has been output. This is currently only supported for the JSON format, other formats can, and will, simply ignore it.

source

fn emit_future_breakage_report(&mut self, _diags: Vec<Diagnostic>)

source

fn emit_unused_externs(&mut self, _lint_level: Level, _unused_externs: &[&str])

Emit list of unused externs

source

fn should_show_explain(&self) -> bool

Checks if should show explanations about “rustc –explain”

source

fn supports_color(&self) -> bool

Checks if we can use colors in the current output stream.

source

fn primary_span_formatted<'a>( &mut self, diag: &'a Diagnostic, fluent_args: &FluentArgs<'_> ) -> (MultiSpan, &'a [CodeSuggestion])

Formats the substitutions of the primary_span

There are a lot of conditions to this method, but in short:

  • If the current Diagnostic has only one visible CodeSuggestion, we format the help suggestion depending on the content of the substitutions. In that case, we return the modified span only.

  • If the current Diagnostic has multiple suggestions, we return the original primary_span and the original suggestions.

source

fn fix_multispans_in_extern_macros_and_render_macro_backtrace( &self, span: &mut MultiSpan, children: &mut Vec<SubDiagnostic>, level: &Level, backtrace: bool )

source

fn render_multispans_macro_backtrace( &self, span: &mut MultiSpan, children: &mut Vec<SubDiagnostic>, backtrace: bool )

source

fn render_multispan_macro_backtrace( &self, span: &mut MultiSpan, always_backtrace: bool )

source

fn fix_multispans_in_extern_macros( &self, span: &mut MultiSpan, children: &mut Vec<SubDiagnostic> )

source

fn fix_multispan_in_extern_macros(&self, span: &mut MultiSpan)

Implementors§