Added support for unit-struct

This commit is contained in:
Pavan Kumar Sunkara 2020-03-02 11:46:40 +01:00
parent 68566a6848
commit 0c22a9df6c
2 changed files with 19 additions and 0 deletions

View file

@ -31,6 +31,17 @@ pub fn derive_clap(input: &syn::DeriveInput) -> proc_macro2::TokenStream {
dummies::clap_struct(ident);
gen_for_struct(ident, &fields.named, &input.attrs)
}
Struct(syn::DataStruct {
fields: syn::Fields::Unit,
..
}) => {
dummies::clap_struct(ident);
gen_for_struct(
ident,
&punctuated::Punctuated::<syn::Field, token::Comma>::new(),
&input.attrs,
)
}
Enum(ref e) => {
dummies::clap_enum(ident);
gen_for_enum(ident, &input.attrs, e)

View file

@ -28,3 +28,11 @@ fn basic() {
Opt::parse_from(&["test", "-a24", "--arg", "42"])
);
}
#[test]
fn unit_struct() {
#[derive(Clap, PartialEq, Debug)]
struct Opt;
assert_eq!(Opt {}, Opt::parse_from(&["test"]));
}