rustc_errors::emitter

Trait Emitter

Source
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§

Source

fn emit_diagnostic(&mut self, diag: DiagInner, registry: &Registry)

Emit a structured diagnostic.

Source

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

Provided Methods§

Source

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.

Source

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.

Source

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

Emit list of unused externs. Currently only supported for the JSON format.

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( &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 visible CodeSuggestion, we format the help 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 leave primary_span and the suggestions untouched.

Source

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

Source

fn render_multispans_macro_backtrace( &self, span: &mut MultiSpan, children: &mut Vec<Subdiag>, 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<Subdiag>, )

Source

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

Implementors§