Expand description
Diagnostics implementation.
Modified from rustc_errors
.
Structs§
- BugAbort
- Marker type which enables implementation of
create_bug
andemit_bug
functions for bug diagnostics. - Diag
- A compiler diagnostic.
- Diag
Builder - Used for emitting structured error messages and other diagnostic information.
- Diag
Ctxt - A handler deals with errors and other compiler output. Certain errors (fatal, bug, unimpl) may cause immediate exit, others log errors for later reporting.
- Diag
Ctxt Flags - Flags that control the behaviour of a
DiagCtxt
. - DiagId
- Diag ID.
- DiagMsg
- Emitted
Diagnostics - Represents all the diagnostics emitted up to a certain point.
- Error
Guaranteed - Useful type to use with
Result
indicate that an error has already been reported to the user, so no need to continue checking. - Explicit
Bug - Signifies that the compiler died with an explicit call to
.bug
rather than a failed assertion, etc. - Fatal
Abort - Marker type which enables implementation of fatal diagnostics.
- Human
Buffer Emitter - Diagnostic emitter that emits diagnostics in human-readable format to a local buffer.
- Human
Emitter - Diagnostic emitter that emits to an arbitrary
io::Write
writer in human-readable format. - Json
Emitter json
- Diagnostic emitter that emits diagnostics as JSON.
- Local
Emitter - Diagnostic emitter that only stores emitted diagnostics.
- Multi
Span - A collection of
Span
s. - Silent
Emitter - Diagnostic emitter.
- Span
Label - A span together with some additional data.
- SubDiagnostic
- A “sub”-diagnostic attached to a parent diagnostic. For example, a note attached to an error.
Enums§
Traits§
- Emission
Guarantee - Trait for types that
DiagBuilder::emit
can return as a “guarantee” (or “proof”) token that the emission happened. - Emitter
- Diagnostic emitter.
Type Aliases§
- DynEmitter
- Dynamic diagnostic emitter. See
Emitter
.