track traits lol

This commit is contained in:
nora 2023-01-23 09:13:37 +01:00
parent fa0b3021a9
commit 76418d9b82
4 changed files with 19 additions and 16 deletions

View file

@ -88,6 +88,8 @@ impl VisitMut for Visitor<'_> {
tracking!(visit_item_fn_mut); tracking!(visit_item_fn_mut);
tracking!(visit_impl_item_method_mut); tracking!(visit_impl_item_method_mut);
tracking!(visit_item_impl_mut); tracking!(visit_item_impl_mut);
tracking!(visit_field_mut);
tracking!(visit_item_struct_mut);
} }
#[derive(Default)] #[derive(Default)]

View file

@ -31,18 +31,6 @@ impl VisitMut for Visitor<'_> {
} }
} }
fn visit_field_mut(&mut self, field: &mut syn::Field) {
self.current_path.push(field.ident.to_string());
syn::visit_mut::visit_field_mut(self, method);
self.current_path.pop();
}
fn visit_item_struct_mut(&mut self, struct_: &mut syn::ItemStruct) {
self.current_path.push(struct_.ident.to_string());
syn::visit_mut::visit_item_struct_mut(self, method);
self.current_path.pop();
}
tracking!(); tracking!();
} }

View file

@ -220,6 +220,7 @@ macro_rules! tracking {
tracking!(visit_item_mod_mut); tracking!(visit_item_mod_mut);
tracking!(visit_field_mut); tracking!(visit_field_mut);
tracking!(visit_item_struct_mut); tracking!(visit_item_struct_mut);
tracking!(visit_item_trait_mut);
}; };
(visit_item_fn_mut) => { (visit_item_fn_mut) => {
fn visit_item_fn_mut(&mut self, func: &mut syn::ItemFn) { fn visit_item_fn_mut(&mut self, func: &mut syn::ItemFn) {
@ -252,15 +253,24 @@ macro_rules! tracking {
}; };
(visit_field_mut) => { (visit_field_mut) => {
fn visit_field_mut(&mut self, field: &mut syn::Field) { fn visit_field_mut(&mut self, field: &mut syn::Field) {
self.current_path.push(field.ident.to_string()); if let Some(ident) = &field.ident {
syn::visit_mut::visit_field_mut(self, method); self.current_path.push(ident.to_string());
self.current_path.pop(); syn::visit_mut::visit_field_mut(self, field);
self.current_path.pop();
}
} }
}; };
(visit_item_struct_mut) => { (visit_item_struct_mut) => {
fn visit_item_struct_mut(&mut self, struct_: &mut syn::ItemStruct) { fn visit_item_struct_mut(&mut self, struct_: &mut syn::ItemStruct) {
self.current_path.push(struct_.ident.to_string()); self.current_path.push(struct_.ident.to_string());
syn::visit_mut::visit_item_struct_mut(self, method); syn::visit_mut::visit_item_struct_mut(self, struct_);
self.current_path.pop();
}
};
(visit_item_trait_mut) => {
fn visit_item_trait_mut(&mut self, trait_: &mut syn::ItemTrait) {
self.current_path.push(trait_.ident.to_string());
syn::visit_mut::visit_item_trait_mut(self, trait_);
self.current_path.pop(); self.current_path.pop();
} }
}; };

View file

@ -310,4 +310,7 @@ impl VisitMut for FindUnusedFunction<'_> {
tracking!(visit_item_fn_mut); tracking!(visit_item_fn_mut);
tracking!(visit_impl_item_method_mut); tracking!(visit_impl_item_method_mut);
tracking!(visit_field_mut);
tracking!(visit_item_struct_mut);
tracking!(visit_item_trait_mut);
} }