about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLeSeulArtichaut <leseulartichaut@gmail.com>2021-06-21 22:41:27 +0200
committerLeSeulArtichaut <leseulartichaut@gmail.com>2021-06-22 11:36:19 +0200
commitdc591e18e8597703caa6d84482ff59ba535f83d1 (patch)
tree414326a9d57a4d7fb06408c838699ad340773314
parent4cd5affcf2d4a9c708b4f20d4f3afaaa3e3c5b2a (diff)
downloadrust-dc591e18e8597703caa6d84482ff59ba535f83d1.tar.gz
rust-dc591e18e8597703caa6d84482ff59ba535f83d1.zip
Accept `!{}` and `![]` as macro disambiguators
-rw-r--r--src/librustdoc/passes/collect_intra_doc_links.rs8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/librustdoc/passes/collect_intra_doc_links.rs b/src/librustdoc/passes/collect_intra_doc_links.rs
index ce017995a3b..2877af1d0f9 100644
--- a/src/librustdoc/passes/collect_intra_doc_links.rs
+++ b/src/librustdoc/passes/collect_intra_doc_links.rs
@@ -951,9 +951,9 @@ fn preprocess_link<'a>(
     }
 
     // Parse and strip the disambiguator from the link, if present.
-    let (link_text, path_str, disambiguator) = match Disambiguator::from_str(&link) {
-        Ok(Some((d, path, link_text))) => (link_text.trim(), path.trim(), Some(d)),
-        Ok(None) => (link.trim(), link.trim(), None),
+    let (disambiguator, path_str, link_text) = match Disambiguator::from_str(&link) {
+        Ok(Some((d, path, link_text))) => (Some(d), path.trim(), link_text.trim()),
+        Ok(None) => (None, link.trim(), link.trim()),
         Err((err_msg, relative_range)) => {
             // Only report error if we would not have ignored this link. See issue #83859.
             if !should_ignore_link_with_disambiguators(link) {
@@ -1538,6 +1538,8 @@ impl Disambiguator {
         } else {
             let suffixes = [
                 ("!()", DefKind::Macro(MacroKind::Bang)),
+                ("!{}", DefKind::Macro(MacroKind::Bang)),
+                ("![]", DefKind::Macro(MacroKind::Bang)),
                 ("()", DefKind::Fn),
                 ("!", DefKind::Macro(MacroKind::Bang)),
             ];