]> git.lizzy.rs Git - rust.git/commitdiff
Don't print bang diagnostics for derives
authorManish Goregaokar <manishsmail@gmail.com>
Wed, 10 Jun 2020 07:38:13 +0000 (00:38 -0700)
committerManish Goregaokar <manishsmail@gmail.com>
Wed, 10 Jun 2020 08:04:38 +0000 (01:04 -0700)
src/librustdoc/passes/collect_intra_doc_links.rs

index ab4dbb87425db5b25e38d717a61bd4ac4667e467..d14cd1306abbc74d081a719ceff80a8f6b720b5c 100644 (file)
@@ -585,6 +585,9 @@ fn fold_item(&mut self, mut item: Item) -> Option<Item> {
                 } else if link.starts_with("macro@") {
                     kind = Some(MacroNS);
                     link.trim_start_matches("macro@")
+                } else if link.starts_with("derive@") {
+                    kind = Some(MacroNS);
+                    link.trim_start_matches("derive@")
                 } else if link.ends_with('!') {
                     kind = Some(MacroNS);
                     link.trim_end_matches('!')
@@ -954,7 +957,7 @@ fn ambiguity_error(
                             Res::Def(DefKind::AssocFn | DefKind::Fn, _) => {
                                 ("add parentheses", format!("{}()", path_str))
                             }
-                            Res::Def(DefKind::Macro(..), _) => {
+                            Res::Def(DefKind::Macro(MacroKind::Bang), _) => {
                                 ("add an exclamation mark", format!("{}!", path_str))
                             }
                             _ => {
@@ -968,6 +971,9 @@ fn ambiguity_error(
                                     (Res::Def(DefKind::Mod, _), _) => "module",
                                     (_, TypeNS) => "type",
                                     (_, ValueNS) => "value",
+                                    (Res::Def(DefKind::Macro(MacroKind::Derive), _), MacroNS) => {
+                                        "derive"
+                                    }
                                     (_, MacroNS) => "macro",
                                 };