Trait rustc_ap_rustc_errors::emitter::Emitter[][src]

pub trait Emitter {
Show methods fn emit_diagnostic(&mut self, diag: &Diagnostic);
fn source_map(&self) -> Option<&Lrc<SourceMap>>; fn emit_artifact_notification(&mut self, _path: &Path, _artifact_type: &str) { ... }
fn emit_future_breakage_report(
        &mut self,
        _diags: Vec<(FutureBreakage, Diagnostic)>
    ) { ... }
fn emit_unused_externs(
        &mut self,
        _lint_level: &str,
        _unused_externs: &[&str]
    ) { ... }
fn should_show_explain(&self) -> bool { ... }
fn supports_color(&self) -> bool { ... }
fn primary_span_formatted<'a>(
        &mut self,
        diag: &'a Diagnostic
    ) -> (MultiSpan, &'a [CodeSuggestion]) { ... }
fn fix_multispans_in_extern_macros_and_render_macro_backtrace(
        &self,
        source_map: &Option<Lrc<SourceMap>>,
        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,
        source_map: &Option<Lrc<SourceMap>>,
        span: &mut MultiSpan,
        children: &mut Vec<SubDiagnostic>
    ) { ... }
fn fix_multispan_in_extern_macros(
        &self,
        source_map: &Lrc<SourceMap>,
        span: &mut MultiSpan
    ) { ... }
}
Expand description

Emitter trait for emitting errors.

Required methods

Emit a structured diagnostic.

Provided methods

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.

Emit list of unused externs

Checks if should show explanations about “rustc –explain”

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

Formats the substitutions of the primary_span

The 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.

Implementors