[−][src]Struct syntax::diagnostics::plugin::Handler
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
A handler deals with errors; certain errors (fatal, bug, unimpl) may cause immediate exit, others log errors for later reporting.
Fields
flags: HandlerFlags
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
err_count: AtomicUsize
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
emitter: Lock<Box<Emitter + 'static + Send>>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
continue_after_error: LockCell<bool>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
delayed_span_bugs: Lock<Vec<Diagnostic>>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
taught_diagnostics: Lock<HashSet<DiagnosticId, BuildHasherDefault<FxHasher>>>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
emitted_diagnostic_codes: Lock<HashSet<DiagnosticId, BuildHasherDefault<FxHasher>>>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Used to suggest rustc --explain
emitted_diagnostics: Lock<HashSet<u128, BuildHasherDefault<FxHasher>>>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Methods
impl Handler
[src]
impl Handler
pub fn with_tty_emitter(
color_config: ColorConfig,
can_emit_warnings: bool,
treat_err_as_bug: bool,
cm: Option<Rc<SourceMapper + 'static + Sync + Send>>
) -> Handler
[src]
pub fn with_tty_emitter(
color_config: ColorConfig,
can_emit_warnings: bool,
treat_err_as_bug: bool,
cm: Option<Rc<SourceMapper + 'static + Sync + Send>>
) -> Handler
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn with_tty_emitter_and_flags(
color_config: ColorConfig,
cm: Option<Rc<SourceMapper + 'static + Sync + Send>>,
flags: HandlerFlags
) -> Handler
[src]
pub fn with_tty_emitter_and_flags(
color_config: ColorConfig,
cm: Option<Rc<SourceMapper + 'static + Sync + Send>>,
flags: HandlerFlags
) -> Handler
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn with_emitter(
can_emit_warnings: bool,
treat_err_as_bug: bool,
e: Box<Emitter + 'static + Send>
) -> Handler
[src]
pub fn with_emitter(
can_emit_warnings: bool,
treat_err_as_bug: bool,
e: Box<Emitter + 'static + Send>
) -> Handler
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn with_emitter_and_flags(
e: Box<Emitter + 'static + Send>,
flags: HandlerFlags
) -> Handler
[src]
pub fn with_emitter_and_flags(
e: Box<Emitter + 'static + Send>,
flags: HandlerFlags
) -> Handler
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn set_continue_after_error(&self, continue_after_error: bool)
[src]
pub fn set_continue_after_error(&self, continue_after_error: bool)
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn reset_err_count(&self)
[src]
pub fn reset_err_count(&self)
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Resets the diagnostic error count as well as the cached emitted diagnostics.
NOTE: DO NOT call this function from rustc. It is only meant to be called from external
tools that want to reuse a Parser
cleaning the previously emitted diagnostics as well as
the overall count of emitted error diagnostics.
pub fn struct_dummy(&'a self) -> DiagnosticBuilder<'a>
[src]
pub fn struct_dummy(&'a self) -> DiagnosticBuilder<'a>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn struct_span_warn<S>(&'a self, sp: S, msg: &str) -> DiagnosticBuilder<'a> where
S: Into<MultiSpan>,
[src]
pub fn struct_span_warn<S>(&'a self, sp: S, msg: &str) -> DiagnosticBuilder<'a> where
S: Into<MultiSpan>,
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn struct_span_warn_with_code<S>(
&'a self,
sp: S,
msg: &str,
code: DiagnosticId
) -> DiagnosticBuilder<'a> where
S: Into<MultiSpan>,
[src]
pub fn struct_span_warn_with_code<S>(
&'a self,
sp: S,
msg: &str,
code: DiagnosticId
) -> DiagnosticBuilder<'a> where
S: Into<MultiSpan>,
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn struct_warn(&'a self, msg: &str) -> DiagnosticBuilder<'a>
[src]
pub fn struct_warn(&'a self, msg: &str) -> DiagnosticBuilder<'a>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn struct_span_err<S>(&'a self, sp: S, msg: &str) -> DiagnosticBuilder<'a> where
S: Into<MultiSpan>,
[src]
pub fn struct_span_err<S>(&'a self, sp: S, msg: &str) -> DiagnosticBuilder<'a> where
S: Into<MultiSpan>,
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn struct_span_err_with_code<S>(
&'a self,
sp: S,
msg: &str,
code: DiagnosticId
) -> DiagnosticBuilder<'a> where
S: Into<MultiSpan>,
[src]
pub fn struct_span_err_with_code<S>(
&'a self,
sp: S,
msg: &str,
code: DiagnosticId
) -> DiagnosticBuilder<'a> where
S: Into<MultiSpan>,
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn struct_err(&'a self, msg: &str) -> DiagnosticBuilder<'a>
[src]
pub fn struct_err(&'a self, msg: &str) -> DiagnosticBuilder<'a>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn struct_err_with_code(
&'a self,
msg: &str,
code: DiagnosticId
) -> DiagnosticBuilder<'a>
[src]
pub fn struct_err_with_code(
&'a self,
msg: &str,
code: DiagnosticId
) -> DiagnosticBuilder<'a>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn struct_span_fatal<S>(&'a self, sp: S, msg: &str) -> DiagnosticBuilder<'a> where
S: Into<MultiSpan>,
[src]
pub fn struct_span_fatal<S>(&'a self, sp: S, msg: &str) -> DiagnosticBuilder<'a> where
S: Into<MultiSpan>,
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn struct_span_fatal_with_code<S>(
&'a self,
sp: S,
msg: &str,
code: DiagnosticId
) -> DiagnosticBuilder<'a> where
S: Into<MultiSpan>,
[src]
pub fn struct_span_fatal_with_code<S>(
&'a self,
sp: S,
msg: &str,
code: DiagnosticId
) -> DiagnosticBuilder<'a> where
S: Into<MultiSpan>,
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn struct_fatal(&'a self, msg: &str) -> DiagnosticBuilder<'a>
[src]
pub fn struct_fatal(&'a self, msg: &str) -> DiagnosticBuilder<'a>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn cancel(&self, err: &mut DiagnosticBuilder)
[src]
pub fn cancel(&self, err: &mut DiagnosticBuilder)
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn span_fatal<S>(&self, sp: S, msg: &str) -> FatalError where
S: Into<MultiSpan>,
[src]
pub fn span_fatal<S>(&self, sp: S, msg: &str) -> FatalError where
S: Into<MultiSpan>,
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn span_fatal_with_code<S>(
&self,
sp: S,
msg: &str,
code: DiagnosticId
) -> FatalError where
S: Into<MultiSpan>,
[src]
pub fn span_fatal_with_code<S>(
&self,
sp: S,
msg: &str,
code: DiagnosticId
) -> FatalError where
S: Into<MultiSpan>,
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn span_err<S>(&self, sp: S, msg: &str) where
S: Into<MultiSpan>,
[src]
pub fn span_err<S>(&self, sp: S, msg: &str) where
S: Into<MultiSpan>,
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn mut_span_err<S>(&'a self, sp: S, msg: &str) -> DiagnosticBuilder<'a> where
S: Into<MultiSpan>,
[src]
pub fn mut_span_err<S>(&'a self, sp: S, msg: &str) -> DiagnosticBuilder<'a> where
S: Into<MultiSpan>,
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn span_err_with_code<S>(&self, sp: S, msg: &str, code: DiagnosticId) where
S: Into<MultiSpan>,
[src]
pub fn span_err_with_code<S>(&self, sp: S, msg: &str, code: DiagnosticId) where
S: Into<MultiSpan>,
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn span_warn<S>(&self, sp: S, msg: &str) where
S: Into<MultiSpan>,
[src]
pub fn span_warn<S>(&self, sp: S, msg: &str) where
S: Into<MultiSpan>,
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn span_warn_with_code<S>(&self, sp: S, msg: &str, code: DiagnosticId) where
S: Into<MultiSpan>,
[src]
pub fn span_warn_with_code<S>(&self, sp: S, msg: &str, code: DiagnosticId) where
S: Into<MultiSpan>,
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn span_bug<S>(&self, sp: S, msg: &str) -> ! where
S: Into<MultiSpan>,
[src]
pub fn span_bug<S>(&self, sp: S, msg: &str) -> ! where
S: Into<MultiSpan>,
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn delay_span_bug<S>(&self, sp: S, msg: &str) where
S: Into<MultiSpan>,
[src]
pub fn delay_span_bug<S>(&self, sp: S, msg: &str) where
S: Into<MultiSpan>,
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn span_bug_no_panic<S>(&self, sp: S, msg: &str) where
S: Into<MultiSpan>,
[src]
pub fn span_bug_no_panic<S>(&self, sp: S, msg: &str) where
S: Into<MultiSpan>,
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn span_note_without_error<S>(&self, sp: S, msg: &str) where
S: Into<MultiSpan>,
[src]
pub fn span_note_without_error<S>(&self, sp: S, msg: &str) where
S: Into<MultiSpan>,
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn span_note_diag(&'a self, sp: Span, msg: &str) -> DiagnosticBuilder<'a>
[src]
pub fn span_note_diag(&'a self, sp: Span, msg: &str) -> DiagnosticBuilder<'a>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn span_unimpl<S>(&self, sp: S, msg: &str) -> ! where
S: Into<MultiSpan>,
[src]
pub fn span_unimpl<S>(&self, sp: S, msg: &str) -> ! where
S: Into<MultiSpan>,
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn failure(&self, msg: &str)
[src]
pub fn failure(&self, msg: &str)
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn fatal(&self, msg: &str) -> FatalError
[src]
pub fn fatal(&self, msg: &str) -> FatalError
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn err(&self, msg: &str)
[src]
pub fn err(&self, msg: &str)
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn warn(&self, msg: &str)
[src]
pub fn warn(&self, msg: &str)
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn note_without_error(&self, msg: &str)
[src]
pub fn note_without_error(&self, msg: &str)
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn bug(&self, msg: &str) -> !
[src]
pub fn bug(&self, msg: &str) -> !
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn unimpl(&self, msg: &str) -> !
[src]
pub fn unimpl(&self, msg: &str) -> !
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn err_count(&self) -> usize
[src]
pub fn err_count(&self) -> usize
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn has_errors(&self) -> bool
[src]
pub fn has_errors(&self) -> bool
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn print_error_count(&self)
[src]
pub fn print_error_count(&self)
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn abort_if_errors(&self)
[src]
pub fn abort_if_errors(&self)
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn emit(&self, msp: &MultiSpan, msg: &str, lvl: Level)
[src]
pub fn emit(&self, msp: &MultiSpan, msg: &str, lvl: Level)
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn emit_with_code(
&self,
msp: &MultiSpan,
msg: &str,
code: DiagnosticId,
lvl: Level
)
[src]
pub fn emit_with_code(
&self,
msp: &MultiSpan,
msg: &str,
code: DiagnosticId,
lvl: Level
)
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn must_teach(&self, code: &DiagnosticId) -> bool
[src]
pub fn must_teach(&self, code: &DiagnosticId) -> bool
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
true
if we haven't taught a diagnostic with this code already.
The caller must then teach the user about such a diagnostic.
Used to suppress emitting the same error multiple times with extended explanation when
calling -Zteach
.
pub fn force_print_db(&self, db: DiagnosticBuilder)
[src]
pub fn force_print_db(&self, db: DiagnosticBuilder)
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Trait Implementations
Auto Trait Implementations
Blanket Implementations
impl<T> From for T
[src]
impl<T> From for T
impl<T, U> Into for T where
U: From<T>,
[src]
impl<T, U> Into for T where
U: From<T>,
impl<T, U> TryFrom for T where
T: From<U>,
[src]
impl<T, U> TryFrom for T where
T: From<U>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
try_from
)Performs the conversion.
impl<T> Borrow for T where
T: ?Sized,
[src]
impl<T> Borrow for T where
T: ?Sized,
ⓘImportant traits for &'a mut Rfn borrow(&self) -> &T
[src]
fn borrow(&self) -> &T
Immutably borrows from an owned value. Read more
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
try_from
)Performs the conversion.
impl<T> BorrowMut for T where
T: ?Sized,
[src]
impl<T> BorrowMut for T where
T: ?Sized,
ⓘImportant traits for &'a mut Rfn borrow_mut(&mut self) -> &mut T
[src]
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Any for T where
T: 'static + ?Sized,
[src]
impl<T> Any for T where
T: 'static + ?Sized,
fn get_type_id(&self) -> TypeId
[src]
fn get_type_id(&self) -> TypeId
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static
Gets the TypeId
of self
. Read more
impl<E> SpecializationError for E
[src]
impl<E> SpecializationError for E
fn not_found<S, T>(trait_name: &'static str, method_name: &'static str) -> E where
T: ?Sized,
[src]
fn not_found<S, T>(trait_name: &'static str, method_name: &'static str) -> E where
T: ?Sized,
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Create an error for a missing method specialization. Defaults to panicking with type, trait & method names. S
is the encoder/decoder state type, T
is the type being encoded/decoded, and the arguments are the names of the trait and method that should've been overridden. Read more
impl<T> Erased for T
[src]
impl<T> Erased for T
impl<T> Send for T where
T: ?Sized,
[src]
impl<T> Send for T where
T: ?Sized,
impl<T> Sync for T where
T: ?Sized,
[src]
impl<T> Sync for T where
T: ?Sized,
impl<T> Erased for T
impl<T> Erased for T