pub trait SpanDiagnosticExt {
// Required methods
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§
sourcefn error<T>(self, message: T) -> Diagnosticwhere
T: Into<String>,
fn error<T>(self, message: T) -> Diagnosticwhere T: Into<String>,
Create a new Diagnostic
of the kind of this method’s name with the
span self
.
sourcefn warning<T>(self, message: T) -> Diagnosticwhere
T: Into<String>,
fn warning<T>(self, message: T) -> Diagnosticwhere T: Into<String>,
Create a new Diagnostic
of the kind of this method’s name with the
span self
.
sourcefn note<T>(self, message: T) -> Diagnosticwhere
T: Into<String>,
fn note<T>(self, message: T) -> Diagnosticwhere T: Into<String>,
Create a new Diagnostic
of the kind of this method’s name with the
span self
.
sourcefn help<T>(self, message: T) -> Diagnosticwhere
T: Into<String>,
fn help<T>(self, message: T) -> Diagnosticwhere T: Into<String>,
Create a new Diagnostic
of the kind of this method’s name with the
span self
.