Diagnostics creation and emission for
This module contains the code for creating and emitting diagnostics.
pub use emitter::ColorConfig;
Emit diagnostics using the
The current rustc diagnostics emitter.
A JSON emitter for errors.
Bindings to acquire a global named lock.
Used for emitting structured error messages and other diagnostic information.
Signifies that the compiler died with an explicit call to
.span_bug rather than a failed assertion, etc.
Used as a return value to signify a fatal error occurred. (It is also used as the argument to panic at the moment, but that will eventually not be true.)
A handler deals with errors and other compiler output. Certain errors (fatal, bug, unimpl) may cause immediate exit, others log errors for later reporting.
This inner struct exists to keep it all behind a single lock; this is done to prevent possible deadlocks in a multi-threaded compiler, as well as inconsistent state observation.
A “sub”-diagnostic attached to a parent diagnostic. For example, a note attached to an error.
See the docs on
Used to translate between
Spans and byte positions within a single output line in highlighted
code of structured suggestions.
Indicates the confidence in the correctness of a suggestion.
A key denoting where from a diagnostic was stashed.