Skip to content

Commit 1195b67

Browse files
committed
Auto merge of rust-lang#104757 - camelid:consolidate-lints, r=GuillaumeGomez,jyn514,Manishearth
Consolidate rustdoc's lint passes into a single pass This should improve performance and simplify the code. r? `@GuillaumeGomez`
2 parents 2a39e45 + 9eb8577 commit 1195b67

File tree

8 files changed

+441
-505
lines changed

8 files changed

+441
-505
lines changed

src/librustdoc/passes/bare_urls.rs

-110
This file was deleted.

src/librustdoc/passes/check_code_block_syntax.rs

-209
This file was deleted.

src/librustdoc/passes/lint.rs

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
//! Runs several rustdoc lints, consolidating them into a single pass for
2+
//! efficiency and simplicity.
3+
4+
mod bare_urls;
5+
mod check_code_block_syntax;
6+
mod html_tags;
7+
8+
use super::Pass;
9+
use crate::clean::*;
10+
use crate::core::DocContext;
11+
use crate::visit::DocVisitor;
12+
13+
pub(crate) const RUN_LINTS: Pass =
14+
Pass { name: "run-lints", run: run_lints, description: "runs some of rustdoc's lints" };
15+
16+
struct Linter<'a, 'tcx> {
17+
cx: &'a mut DocContext<'tcx>,
18+
}
19+
20+
pub(crate) fn run_lints(krate: Crate, cx: &mut DocContext<'_>) -> Crate {
21+
Linter { cx }.visit_crate(&krate);
22+
krate
23+
}
24+
25+
impl<'a, 'tcx> DocVisitor for Linter<'a, 'tcx> {
26+
fn visit_item(&mut self, item: &Item) {
27+
bare_urls::visit_item(self.cx, item);
28+
check_code_block_syntax::visit_item(self.cx, item);
29+
html_tags::visit_item(self.cx, item);
30+
31+
self.visit_item_recur(item)
32+
}
33+
}

0 commit comments

Comments
 (0)