Trait devise_core::ext::SpanDiagnosticExt[][src]

pub trait SpanDiagnosticExt {
    fn error<T>(self, message: T) -> Diagnostic
    where
        T: Into<String>
;
fn warning<T>(self, message: T) -> Diagnostic
    where
        T: Into<String>
;
fn note<T>(self, message: T) -> Diagnostic
    where
        T: Into<String>
;
fn help<T>(self, message: T) -> Diagnostic
    where
        T: Into<String>
; }
Expand description

Extension trait for proc_macro2::Span emulating the proc-macro diagnostic API on stable and nightly.

Example

use proc_macro2::Span;
use proc_macro2_diagnostics::SpanDiagnosticExt;

let span = Span::call_site();
let diag = span.error("there's a problem here...");

// emit into an expression context.
let tokens = diag.emit_as_expr_tokens();

// or emit into an item context.
let tokens = diag.emit_as_item_tokens();

Required methods

Create a new Diagnostic of the kind of this method’s name with the span self.

Create a new Diagnostic of the kind of this method’s name with the span self.

Create a new Diagnostic of the kind of this method’s name with the span self.

Create a new Diagnostic of the kind of this method’s name with the span self.

Implementations on Foreign Types

Implementors