diff options
| author | Camelid <camelidcamel@gmail.com> | 2021-03-28 17:22:45 -0700 |
|---|---|---|
| committer | Camelid <camelidcamel@gmail.com> | 2021-03-28 17:27:19 -0700 |
| commit | 141df6f60e28c83711db5a2a94d5c4ff5e9aecaa (patch) | |
| tree | 49fd294004ffff6738ef48ded5d1acc11ec865f6 | |
| parent | 5497f158af58bf6420222472bbaeeae78081d26f (diff) | |
| download | rust-141df6f60e28c83711db5a2a94d5c4ff5e9aecaa.tar.gz rust-141df6f60e28c83711db5a2a94d5c4ff5e9aecaa.zip | |
Inline `find_suffix` closure that's only used once
| -rw-r--r-- | src/librustdoc/passes/collect_intra_doc_links.rs | 32 |
1 files changed, 14 insertions, 18 deletions
diff --git a/src/librustdoc/passes/collect_intra_doc_links.rs b/src/librustdoc/passes/collect_intra_doc_links.rs index 417637d2384..55978ca551b 100644 --- a/src/librustdoc/passes/collect_intra_doc_links.rs +++ b/src/librustdoc/passes/collect_intra_doc_links.rs @@ -1549,23 +1549,6 @@ impl Disambiguator { fn from_str(link: &str) -> Result<Option<(Self, &str)>, (String, Range<usize>)> { use Disambiguator::{Kind, Namespace as NS, Primitive}; - let find_suffix = || { - let suffixes = [ - ("!()", DefKind::Macro(MacroKind::Bang)), - ("()", DefKind::Fn), - ("!", DefKind::Macro(MacroKind::Bang)), - ]; - for &(suffix, kind) in &suffixes { - if let Some(link) = link.strip_suffix(suffix) { - // Avoid turning `!` or `()` into an empty string - if !link.is_empty() { - return Some((Kind(kind), link)); - } - } - } - None - }; - if let Some(idx) = link.find('@') { let (prefix, rest) = link.split_at(idx); let d = match prefix { @@ -1586,7 +1569,20 @@ impl Disambiguator { }; Ok(Some((d, &rest[1..]))) } else { - Ok(find_suffix()) + let suffixes = [ + ("!()", DefKind::Macro(MacroKind::Bang)), + ("()", DefKind::Fn), + ("!", DefKind::Macro(MacroKind::Bang)), + ]; + for &(suffix, kind) in &suffixes { + if let Some(link) = link.strip_suffix(suffix) { + // Avoid turning `!` or `()` into an empty string + if !link.is_empty() { + return Ok(Some((Kind(kind), link))); + } + } + } + Ok(None) } } |
