From 4e732000def7753615c0565fd2f56def9fb1f836 Mon Sep 17 00:00:00 2001 From: Ricky Date: Fri, 18 Oct 2019 15:50:55 -0400 Subject: [PATCH 1/2] Adding pub to the parse functions --- src/derives/clap.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/derives/clap.rs b/src/derives/clap.rs index be03b5f..8345c80 100644 --- a/src/derives/clap.rs +++ b/src/derives/clap.rs @@ -312,17 +312,17 @@ pub fn derive_clap(input: &syn::DeriveInput) -> proc_macro2::TokenStream { fn gen_parse_fns(name: &syn::Ident) -> proc_macro2::TokenStream { quote! { - fn parse() -> #name { + pub fn parse() -> #name { use ::clap::{FromArgMatches, IntoApp}; #name::from_argmatches(&#name::into_app().get_matches()) } - fn try_parse() -> ::std::result::Result<#name, ::clap::Error> { + pub fn try_parse() -> ::std::result::Result<#name, ::clap::Error> { use ::clap::{FromArgMatches, IntoApp}; Ok(#name::from_argmatches(&#name::into_app().try_get_matches()?)) } - fn parse_from(itr: I) -> #name + pub fn parse_from(itr: I) -> #name where I: ::std::iter::IntoIterator, T: Into<::std::ffi::OsString> + Clone { @@ -330,7 +330,7 @@ fn gen_parse_fns(name: &syn::Ident) -> proc_macro2::TokenStream { #name::from_argmatches(&#name::into_app().get_matches_from(itr)) } - fn try_parse_from(itr: I) -> ::std::result::Result<#name, ::clap::Error> + pub fn try_parse_from(itr: I) -> ::std::result::Result<#name, ::clap::Error> where I: ::std::iter::IntoIterator, T: Into<::std::ffi::OsString> + Clone { From dfbbf863c1e47d3d5edbd2a3aceefbc4b4ea510d Mon Sep 17 00:00:00 2001 From: Ricky Date: Wed, 23 Oct 2019 19:10:07 -0400 Subject: [PATCH 2/2] Added unreachable pub attribute to the parsing functions --- src/derives/clap.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/derives/clap.rs b/src/derives/clap.rs index 8345c80..8588e34 100644 --- a/src/derives/clap.rs +++ b/src/derives/clap.rs @@ -312,16 +312,17 @@ pub fn derive_clap(input: &syn::DeriveInput) -> proc_macro2::TokenStream { fn gen_parse_fns(name: &syn::Ident) -> proc_macro2::TokenStream { quote! { + #[allow(unreachable_pub)] pub fn parse() -> #name { use ::clap::{FromArgMatches, IntoApp}; #name::from_argmatches(&#name::into_app().get_matches()) } - + #[allow(unreachable_pub)] pub fn try_parse() -> ::std::result::Result<#name, ::clap::Error> { use ::clap::{FromArgMatches, IntoApp}; Ok(#name::from_argmatches(&#name::into_app().try_get_matches()?)) } - + #[allow(unreachable_pub)] pub fn parse_from(itr: I) -> #name where I: ::std::iter::IntoIterator, @@ -329,7 +330,7 @@ fn gen_parse_fns(name: &syn::Ident) -> proc_macro2::TokenStream { use ::clap::{FromArgMatches, IntoApp}; #name::from_argmatches(&#name::into_app().get_matches_from(itr)) } - + #[allow(unreachable_pub)] pub fn try_parse_from(itr: I) -> ::std::result::Result<#name, ::clap::Error> where I: ::std::iter::IntoIterator,