Skip to content

Commit

Permalink
Remove dead code
Browse files Browse the repository at this point in the history
  • Loading branch information
GuillaumeGomez committed Oct 7, 2024
1 parent dde78bd commit 126cb9b
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 115 deletions.
49 changes: 1 addition & 48 deletions src/librustdoc/html/markdown.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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};
Expand Down Expand Up @@ -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<String>,
pub range: MarkdownLinkRange,
}

Expand Down Expand Up @@ -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);
Expand All @@ -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<String> {
let mut display_text: Option<String> = 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
Expand Down
67 changes: 0 additions & 67 deletions src/librustdoc/passes/collect_intra_doc_links.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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?
Expand Down Expand Up @@ -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<str>,
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,
Expand Down

0 comments on commit 126cb9b

Please sign in to comment.