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.