pub fn generate_derive( input: DeriveInput, target: DeriveTarget, ) -> Result<TokenStream, Vec<Diagnostic>>