diff --git a/src/librustdoc/html/markdown.rs b/src/librustdoc/html/markdown.rs
index b18d621478c7d..b86fbf77e595f 100644
--- a/src/librustdoc/html/markdown.rs
+++ b/src/librustdoc/html/markdown.rs
@@ -35,8 +35,7 @@ use std::str::{self, CharIndices};
use std::sync::OnceLock;
use pulldown_cmark::{
- BrokenLink, BrokenLinkCallback, CodeBlockKind, CowStr, Event, LinkType, OffsetIter, Options,
- Parser, Tag, TagEnd, html,
+ BrokenLink, CodeBlockKind, CowStr, Event, LinkType, Options, Parser, Tag, TagEnd, html,
};
use rustc_data_structures::fx::FxHashMap;
use rustc_errors::{Diag, DiagMessage};
@@ -1683,7 +1682,6 @@ pub(crate) fn html_text_from_events<'a>(
pub(crate) struct MarkdownLink {
pub kind: LinkType,
pub link: String,
- pub display_text: Option,
pub range: MarkdownLinkRange,
}
@@ -1845,23 +1843,9 @@ pub(crate) fn markdown_links<'md, R>(
LinkType::Autolink | LinkType::Email => unreachable!(),
};
- let display_text = if matches!(
- link_type,
- LinkType::Inline
- | LinkType::ReferenceUnknown
- | LinkType::Reference
- | LinkType::Shortcut
- | LinkType::ShortcutUnknown
- ) {
- collect_link_data(&mut event_iter)
- } else {
- None
- };
-
if let Some(link) = preprocess_link(MarkdownLink {
kind: link_type,
link: dest_url.into_string(),
- display_text,
range,
}) {
links.push(link);
@@ -1874,37 +1858,6 @@ pub(crate) fn markdown_links<'md, R>(
links
}
-/// Collects additional data of link.
-fn collect_link_data<'input, F: BrokenLinkCallback<'input>>(
- event_iter: &mut OffsetIter<'input, F>,
-) -> Option {
- let mut display_text: Option = None;
- let mut append_text = |text: CowStr<'_>| {
- if let Some(display_text) = &mut display_text {
- display_text.push_str(&text);
- } else {
- display_text = Some(text.to_string());
- }
- };
-
- while let Some((event, _span)) = event_iter.next() {
- match event {
- Event::Text(text) => {
- append_text(text);
- }
- Event::Code(code) => {
- append_text(code);
- }
- Event::End(_) => {
- break;
- }
- _ => {}
- }
- }
-
- display_text
-}
-
#[derive(Debug)]
pub(crate) struct RustCodeBlock {
/// The range in the markdown that the code block occupies. Note that this includes the fences
diff --git a/src/librustdoc/passes/collect_intra_doc_links.rs b/src/librustdoc/passes/collect_intra_doc_links.rs
index e95e8762b1db5..2656612a13eb7 100644
--- a/src/librustdoc/passes/collect_intra_doc_links.rs
+++ b/src/librustdoc/passes/collect_intra_doc_links.rs
@@ -1028,21 +1028,6 @@ impl LinkCollector<'_, '_> {
false,
)?;
- if ori_link.display_text.is_some() {
- self.resolve_display_text(
- path_str,
- ResolutionInfo {
- item_id,
- module_id,
- dis: disambiguator,
- path_str: ori_link.display_text.clone()?.into_boxed_str(),
- extra_fragment: extra_fragment.clone(),
- },
- &ori_link,
- &diag_info,
- );
- }
-
// Check for a primitive which might conflict with a module
// Report the ambiguity and require that the user specify which one they meant.
// FIXME: could there ever be a primitive not in the type namespace?
@@ -1385,58 +1370,6 @@ impl LinkCollector<'_, '_> {
}
}
}
-
- /// Resolve display text if the provided link has separated parts of links.
- ///
- /// For example:
- /// Inline link `[display_text](dest_link)` and reference link `[display_text][reference_link]` has
- /// separated parts of links.
- fn resolve_display_text(
- &mut self,
- explicit_link: &Box,
- display_res_info: ResolutionInfo,
- ori_link: &MarkdownLink,
- diag_info: &DiagnosticInfo<'_>,
- ) {
- // Check if explicit resolution's path is same as resolution of original link's display text path, see
- // tests/rustdoc-ui/lint/redundant_explicit_links.rs for more cases.
- //
- // To avoid disambiguator from panicking, we check if display text path is possible to be disambiguated
- // into explicit path.
- if !matches!(
- ori_link.kind,
- LinkType::Inline | LinkType::Reference | LinkType::ReferenceUnknown
- ) {
- return;
- }
-
- // Algorithm to check if display text could possibly be the explicit link:
- //
- // Consider 2 links which are display text and explicit link, pick the shorter
- // one as symbol and longer one as full qualified path, and tries to match symbol
- // to the full qualified path's last symbol.
- //
- // Otherwise, check if 2 links are same, if so, skip the resolve process.
- //
- // Notice that this algorithm is passive, might possibly miss actual redundant cases.
- let explicit_link = explicit_link.to_string();
- let display_text = ori_link.display_text.as_ref().unwrap();
-
- if display_text.len() == explicit_link.len() {
- // Whether they are same or not, skip the resolve process.
- return;
- }
-
- if explicit_link.ends_with(&display_text[..]) || display_text.ends_with(&explicit_link[..])
- {
- self.resolve_with_disambiguator_cached(
- display_res_info,
- diag_info.clone(), // this struct should really be Copy, but Range is not :(
- false,
- true,
- );
- }
- }
}
/// Get the section of a link between the backticks,