diff options
Diffstat (limited to 'vendor/clap/examples/derive_ref/custom-bool.rs')
-rw-r--r-- | vendor/clap/examples/derive_ref/custom-bool.rs | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/vendor/clap/examples/derive_ref/custom-bool.rs b/vendor/clap/examples/derive_ref/custom-bool.rs deleted file mode 100644 index d3c321e72..000000000 --- a/vendor/clap/examples/derive_ref/custom-bool.rs +++ /dev/null @@ -1,32 +0,0 @@ -use clap::Parser; - -#[derive(Parser, Debug, PartialEq)] -#[clap(author, version, about, long_about = None)] -struct Opt { - // Default parser for `Set` is FromStr::from_str. - // `impl FromStr for bool` parses `true` or `false` so this - // works as expected. - #[clap(long, action = clap::ArgAction::Set)] - foo: bool, - - // Of course, this could be done with an explicit parser function. - #[clap(long, action = clap::ArgAction::Set, value_parser = true_or_false, default_value_t)] - bar: bool, - - // `bool` can be positional only with explicit `action` annotation - #[clap(action = clap::ArgAction::Set)] - boom: bool, -} - -fn true_or_false(s: &str) -> Result<bool, &'static str> { - match s { - "true" => Ok(true), - "false" => Ok(false), - _ => Err("expected `true` or `false`"), - } -} - -fn main() { - let opt = Opt::parse(); - dbg!(opt); -} |