Skip to content
This repository was archived by the owner on May 11, 2020. It is now read-only.

Adding pub to the parse functions #21

Merged
merged 2 commits into from
Dec 27, 2019
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 8 additions & 7 deletions src/derives/clap.rs
Original file line number Diff line number Diff line change
Expand Up @@ -312,25 +312,26 @@ pub fn derive_clap(input: &syn::DeriveInput) -> proc_macro2::TokenStream {

fn gen_parse_fns(name: &syn::Ident) -> proc_macro2::TokenStream {
quote! {
fn parse() -> #name {
#[allow(unreachable_pub)]
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> {
#[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()?))
}

fn parse_from<I, T>(itr: I) -> #name
#[allow(unreachable_pub)]
pub fn parse_from<I, T>(itr: I) -> #name
where
I: ::std::iter::IntoIterator<Item = T>,
T: Into<::std::ffi::OsString> + Clone {
use ::clap::{FromArgMatches, IntoApp};
#name::from_argmatches(&#name::into_app().get_matches_from(itr))
}

fn try_parse_from<I, T>(itr: I) -> ::std::result::Result<#name, ::clap::Error>
#[allow(unreachable_pub)]
pub fn try_parse_from<I, T>(itr: I) -> ::std::result::Result<#name, ::clap::Error>
where
I: ::std::iter::IntoIterator<Item = T>,
T: Into<::std::ffi::OsString> + Clone {
Expand Down