pub(crate) fn each_variant<'s, F>( structure: &mut Structure<'s>, f: F, ) -> TokenStreamwhere F: for<'v> Fn(DiagnosticDeriveVariantBuilder, &VariantInfo<'v>) -> TokenStream,