use proc_macro2::TokenStream;
use quote::{format_ident, quote};
use syn::spanned::Spanned;
use crate::{
diagnostic::{DiagnosticConcreteArgs, DiagnosticDef},
forward::WhichFn,
trait_bounds::TypeParamBoundStore,
utils::{display_pat_members, extract_option, gen_all_variants_with},
};
pub struct SourceCode {
source_code: syn::Member,
is_option: bool,
}
impl SourceCode {
pub fn from_fields(
fields: &syn::Fields,
bounds_store: &mut TypeParamBoundStore,
) -> syn::Result