Auto merge of #87836 - tsoutsman:master, r=petrochenkov

Change proc_macro::Diagnostics docs

With Rust 1.54 attributes can invoke function-like macros. This allows functions generated by macros to have non-generic documentation. This pull request changes the documentation of `proc_macro::Diagnostics` to be more specific and include a link to the level.
## Example
Before:
```markdown
Adds a new child diagnostic message to `self` with the level
identified by this method’s name with the given `message`.
```
After:
```markdown
Adds a new child diagnostic message to self with the [`Level::Error`]
level, and the given `message`.
```
This commit is contained in:
bors 2021-08-08 10:23:17 +00:00
commit e8c25f2663

View File

@ -56,10 +56,9 @@ pub struct Diagnostic {
macro_rules! diagnostic_child_methods { macro_rules! diagnostic_child_methods {
($spanned:ident, $regular:ident, $level:expr) => { ($spanned:ident, $regular:ident, $level:expr) => {
/// Adds a new child diagnostic message to `self` with the level
/// identified by this method's name with the given `spans` and
/// `message`.
#[unstable(feature = "proc_macro_diagnostic", issue = "54140")] #[unstable(feature = "proc_macro_diagnostic", issue = "54140")]
#[doc = concat!("Adds a new child diagnostics message to `self` with the [`",
stringify!($level), "`] level, and the given `spans` and `message`.")]
pub fn $spanned<S, T>(mut self, spans: S, message: T) -> Diagnostic pub fn $spanned<S, T>(mut self, spans: S, message: T) -> Diagnostic
where where
S: MultiSpan, S: MultiSpan,
@ -69,9 +68,9 @@ pub fn $spanned<S, T>(mut self, spans: S, message: T) -> Diagnostic
self self
} }
/// Adds a new child diagnostic message to `self` with the level
/// identified by this method's name with the given `message`.
#[unstable(feature = "proc_macro_diagnostic", issue = "54140")] #[unstable(feature = "proc_macro_diagnostic", issue = "54140")]
#[doc = concat!("Adds a new child diagnostic message to `self` with the [`",
stringify!($level), "`] level, and the given `message`.")]
pub fn $regular<T: Into<String>>(mut self, message: T) -> Diagnostic { pub fn $regular<T: Into<String>>(mut self, message: T) -> Diagnostic {
self.children.push(Diagnostic::new($level, message)); self.children.push(Diagnostic::new($level, message));
self self