use syn::{parse_macro_input, Data, DataStruct, DeriveInput};
use quote::{quote, quote_spanned};
+use proc_macro2::Literal;
use itertools::Itertools;
let target = &input.ident;
let names = fields.named.iter().map(
- |f| f.ident.as_ref().unwrap()
+ |f| Literal::string( &f.ident.as_ref().unwrap().to_string() )
)
.collect_vec();
let output = quote! {
impl #target {
- const FIELDS: &[&str] = &[ #( #names ),* ];
+ const FIELDS: &'static [&'static str] = &[ #( #names ),* ];
}
};
output.into()
pub struct CidrString(pub String);
+#[derive(hippotat_macros::ResolveConfig)]
pub struct InstanceConfig {
/*
// Exceptional settings
let loc = Arc::new(path.to_owned());
for (sn, vars) in map {
+ dbg!( InstanceConfig::FIELDS );
+
let sn = sn.parse().dcontext(&sn)?;
self.sections.entry(sn)
.or_default()