Macro rustc_errors::diagnostic_builder::forward[][src]

macro_rules! forward {
    ($(#[$attrs : meta]) * pub fn $n :
 ident(& self, $($name : ident : $ty : ty), * $(,) ?) -> & Self) => { ... };
    ($(#[$attrs : meta]) * pub fn $n :
 ident(& mut self, $($name : ident : $ty : ty), * $(,) ?) -> & mut Self) => { ... };
    ($(#[$attrs : meta]) * pub fn $n : ident <
 $($generic : ident : $bound : path), * >
 (& 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.