diff options
| author | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2024-09-29 12:37:52 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-29 12:37:52 +0200 |
| commit | ed5d779f4452205ec758d0530c17f250394b28a9 (patch) | |
| tree | 8810dae56b3b3137fd35887fc74b30554172c9b9 | |
| parent | 6799b80c796479221e319b100f0c301c3bad93d0 (diff) | |
| parent | 5ef63ec3b4cacfa21a3e7666e955cf1e7efa34d1 (diff) | |
| download | rust-ed5d779f4452205ec758d0530c17f250394b28a9.tar.gz rust-ed5d779f4452205ec758d0530c17f250394b28a9.zip | |
Rollup merge of #130537 - lolbinarycat:rustdoc-DocVisitor-docs, r=GuillaumeGomez
rustdoc: add doc comment to DocVisitor
| -rw-r--r-- | src/librustdoc/visit.rs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/librustdoc/visit.rs b/src/librustdoc/visit.rs index fbc18176ed8..bfa285c57fa 100644 --- a/src/librustdoc/visit.rs +++ b/src/librustdoc/visit.rs @@ -1,11 +1,17 @@ use crate::clean::*; +/// Allows a type to traverse the cleaned ast of a crate. +/// +/// Note that like [`rustc_ast::visit::Visitor`], but +/// unlike [`rustc_lint::EarlyLintPass`], if you override a +/// `visit_*` method, you will need to manually recurse into +/// its contents. pub(crate) trait DocVisitor<'a>: Sized { fn visit_item(&mut self, item: &'a Item) { self.visit_item_recur(item) } - /// don't override! + /// Don't override! fn visit_inner_recur(&mut self, kind: &'a ItemKind) { match kind { StrippedItem(..) => unreachable!(), @@ -46,7 +52,7 @@ pub(crate) trait DocVisitor<'a>: Sized { } } - /// don't override! + /// Don't override! fn visit_item_recur(&mut self, item: &'a Item) { match &item.kind { StrippedItem(i) => self.visit_inner_recur(&*i), @@ -58,6 +64,7 @@ pub(crate) trait DocVisitor<'a>: Sized { m.items.iter().for_each(|i| self.visit_item(i)) } + /// This is the main entrypoint of [`DocVisitor`]. fn visit_crate(&mut self, c: &'a Crate) { self.visit_item(&c.module); |
