Rollup merge of #124382 - petrochenkov:itemvisit, r=lcnr

ast: Generalize item kind visiting

And avoid duplicating logic for visiting `Item`s with different kinds (regular, associated, foreign).

The diff is better viewed with whitespace ignored.
This commit is contained in:
Matthias Krüger 2024-04-27 07:55:37 +02:00 committed by GitHub
commit cf07246ae9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
18 changed files with 413 additions and 385 deletions

View file

@ -246,18 +246,18 @@ impl MutVisitor for CfgEval<'_, '_> {
}
fn flat_map_impl_item(&mut self, item: P<ast::AssocItem>) -> SmallVec<[P<ast::AssocItem>; 1]> {
mut_visit::noop_flat_map_assoc_item(configure!(self, item), self)
mut_visit::noop_flat_map_item(configure!(self, item), self)
}
fn flat_map_trait_item(&mut self, item: P<ast::AssocItem>) -> SmallVec<[P<ast::AssocItem>; 1]> {
mut_visit::noop_flat_map_assoc_item(configure!(self, item), self)
mut_visit::noop_flat_map_item(configure!(self, item), self)
}
fn flat_map_foreign_item(
&mut self,
foreign_item: P<ast::ForeignItem>,
) -> SmallVec<[P<ast::ForeignItem>; 1]> {
mut_visit::noop_flat_map_foreign_item(configure!(self, foreign_item), self)
mut_visit::noop_flat_map_item(configure!(self, foreign_item), self)
}
fn flat_map_arm(&mut self, arm: ast::Arm) -> SmallVec<[ast::Arm; 1]> {