diff options
| author | LeSeulArtichaut <leseulartichaut@gmail.com> | 2021-06-21 22:41:27 +0200 |
|---|---|---|
| committer | LeSeulArtichaut <leseulartichaut@gmail.com> | 2021-06-22 11:36:19 +0200 |
| commit | dc591e18e8597703caa6d84482ff59ba535f83d1 (patch) | |
| tree | 414326a9d57a4d7fb06408c838699ad340773314 | |
| parent | 4cd5affcf2d4a9c708b4f20d4f3afaaa3e3c5b2a (diff) | |
| download | rust-dc591e18e8597703caa6d84482ff59ba535f83d1.tar.gz rust-dc591e18e8597703caa6d84482ff59ba535f83d1.zip | |
Accept `!{}` and `![]` as macro disambiguators
| -rw-r--r-- | src/librustdoc/passes/collect_intra_doc_links.rs | 8 |
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)), ]; |
