Module diagnostics

Source
Expand description

Diagnostics implementation.

Modified from rustc_errors.

Structs§

BugAbort
Marker type which enables implementation of create_bug and emit_bug functions for bug diagnostics.
Diag
A compiler diagnostic.
DiagBuilder
Used for emitting structured error messages and other diagnostic information.
DiagCtxt
A handler deals with errors and other compiler output. Certain errors (fatal, bug, unimpl) may cause immediate exit, others log errors for later reporting.
DiagCtxtFlags
Flags that control the behaviour of a DiagCtxt.
DiagId
Diag ID.
DiagMsg
EmittedDiagnostics
Represents all the diagnostics emitted up to a certain point.
ErrorGuaranteed
Useful type to use with Result indicate that an error has already been reported to the user, so no need to continue checking.
ExplicitBug
Signifies that the compiler died with an explicit call to .bug rather than a failed assertion, etc.
FatalAbort
Marker type which enables implementation of fatal diagnostics.
HumanBufferEmitter
Diagnostic emitter that emits diagnostics in human-readable format to a local buffer.
HumanEmitter
Diagnostic emitter that emits to an arbitrary io::Write writer in human-readable format.
JsonEmitterjson
Diagnostic emitter that emits diagnostics as JSON.
LocalEmitter
Diagnostic emitter that only stores emitted diagnostics.
MultiSpan
A collection of Spans.
SilentEmitter
Diagnostic emitter.
SpanLabel
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§

Level
Diag level.
Style

Traits§

EmissionGuarantee
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.