Module rustc_errors::diagnostic_builder [−][src]
Macros
In general, the DiagnosticBuilder uses deref to allow access to
the fields and methods of the embedded diagnostic in a
transparent way. However, many of the methods are intended to
be used in a chained way, and hence ought to return self. In
that case, we can’t just naively forward to the method on the
diagnostic, because the return type would be a &Diagnostic
instead of a &DiagnosticBuilder<'a>. This forward! macro makes
it easy to declare such methods on the builder.
Structs
Used for emitting structured error messages and other diagnostic information.
This is a large type, and often used as a return value, especially within
the frequently-used PResult type. In theory, return value optimization
(RVO) should avoid unnecessary copying. In practice, it does not (at the
time of writing). The split between DiagnosticBuilder and
DiagnosticBuilderInner exists to avoid many memcpy calls.