Macro rustc_errors::diagnostic_builder::forward
source · macro_rules! forward { ( $(#[$attrs:meta])* pub fn $n:ident(&mut self, $($name:ident: $ty:ty),* $(,)?) -> &mut Self ) => { ... }; }
Expand description
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.