1 //! Runs several rustdoc lints, consolidating them into a single pass for
2 //! efficiency and simplicity.
5 mod check_code_block_syntax;
10 use crate::core::DocContext;
11 use crate::visit::DocVisitor;
13 pub(crate) const RUN_LINTS: Pass =
14 Pass { name: "run-lints", run: run_lints, description: "runs some of rustdoc's lints" };
16 struct Linter<'a, 'tcx> {
17 cx: &'a mut DocContext<'tcx>,
20 pub(crate) fn run_lints(krate: Crate, cx: &mut DocContext<'_>) -> Crate {
21 Linter { cx }.visit_crate(&krate);
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);
31 self.visit_item_recur(item)