Skip to content

Commit

Permalink
Rollup merge of #123905 - notriddle:notriddle/redundant-explicit-link…
Browse files Browse the repository at this point in the history
…-hunks, r=GuillaumeGomez

rustdoc: check redundant explicit links with correct itemid

Fixes #123677 (a regression caused by #120702)
  • Loading branch information
GuillaumeGomez authored Apr 14, 2024
2 parents 86b791a + 0fea38a commit 4d32bc3
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 11 deletions.
19 changes: 8 additions & 11 deletions src/librustdoc/passes/lint/redundant_explicit_links.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ use rustc_errors::SuggestionStyle;
use rustc_hir::def::{DefKind, DocLinkResMap, Namespace, Res};
use rustc_hir::HirId;
use rustc_lint_defs::Applicability;
use rustc_resolve::rustdoc::source_span_for_markdown_range;
use rustc_resolve::rustdoc::{prepare_to_doc_link_resolution, source_span_for_markdown_range};
use rustc_span::def_id::DefId;
use rustc_span::Symbol;

Expand All @@ -29,16 +29,13 @@ pub(crate) fn visit_item(cx: &DocContext<'_>, item: &Item) {
return;
};

let doc = item.doc_value();
if doc.is_empty() {
return;
}

if let Some(item_id) = item.def_id() {
check_redundant_explicit_link_for_did(cx, item, item_id, hir_id, &doc);
}
if let Some(item_id) = item.inline_stmt_id {
check_redundant_explicit_link_for_did(cx, item, item_id, hir_id, &doc);
let hunks = prepare_to_doc_link_resolution(&item.attrs.doc_strings);
for (item_id, doc) in hunks {
if let Some(item_id) = item_id.or(item.def_id())
&& !doc.is_empty()
{
check_redundant_explicit_link_for_did(cx, item, item_id, hir_id, &doc);
}
}
}

Expand Down
14 changes: 14 additions & 0 deletions tests/rustdoc-ui/redundant-explicit-links-123677.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
//@ check-pass
#![deny(rustdoc::redundant_explicit_links)]

mod bar {
/// [`Rc`](std::rc::Rc)
pub enum Baz {}
}

pub use bar::*;

use std::rc::Rc;

/// [`Rc::allocator`] [foo](std::rc::Rc)
pub fn winit_runner() {}

0 comments on commit 4d32bc3

Please sign in to comment.