diff options
| author | binarycat <binarycat@envs.net> | 2024-09-18 18:15:42 -0400 |
|---|---|---|
| committer | binarycat <binarycat@envs.net> | 2024-09-28 19:21:37 -0400 |
| commit | 5ef63ec3b4cacfa21a3e7666e955cf1e7efa34d1 (patch) | |
| tree | 3d8e087e33e17079670b008fb08af36810c21bd8 | |
| parent | a3f76a26e045a760bb1163b7eab36872985242d5 (diff) | |
| download | rust-5ef63ec3b4cacfa21a3e7666e955cf1e7efa34d1.tar.gz rust-5ef63ec3b4cacfa21a3e7666e955cf1e7efa34d1.zip | |
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); |
