//dbg!(field);
let fname = &field.ident.as_ref().unwrap();
let fname_span = fname.span();
- let mut skl = quote_spanned!{fname_span=> SectionKindList::PerClient };
+ let mut skl = Some(quote_spanned!{fname_span=> SectionKindList::PerClient });
let mut method = quote_spanned!{fname_span=> ordinary };
for attr in &field.attrs {
let atspan = attr.path.segments.last().unwrap().ident.span();
if attr.tokens.is_empty() {
method = attr.path.to_token_stream();
if &attr.path == &parse_quote!{ limited } {
- skl = quote_spanned!{atspan=> SectionKindList::Limited };
+ skl = Some(quote_spanned!{atspan=> SectionKindList::Limited });
} else if &attr.path == &parse_quote!{ computed } {
- skl = quote_spanned!{atspan=> SectionKindList::None };
+ skl = Some(quote_spanned!{atspan=> SectionKindList::None });
}
} else if &attr.path == &parse_quote!{ special } {
let meta = match attr.parse_meta().unwrap() {
}
}
method = get_path(tmethod);
- skl = get_path(tskl);
+ skl = Some(get_path(tskl));
}
}
let fname_string = fname.to_string();
let fname_lit = Literal::string( &fname_string );
+ let skl = skl.expect(&format!("SKL not specified! (field {:?})!", fname));
names.push(quote!{
(#fname_lit, #skl),