blob: 6e7c09204a7e72b03d71436cf9b59b84aa3f5fb9 [file] [log] [blame]
//! current `clap::arg_enum!` uses "non-ident macro path" feature, which was stabilized in
//! Rust 1.31.0.
extern crate clap;
extern crate structopt;
use clap::arg_enum;
use structopt::StructOpt;
arg_enum! {
#[derive(Debug)]
enum Baz {
Foo,
Bar,
FooBar
}
}
#[derive(StructOpt, Debug)]
struct Opt {
/// Important argument.
#[structopt(raw(possible_values = "&Baz::variants()", case_insensitive = "true"))]
i: Baz,
}
fn main() {
let opt = Opt::from_args();
println!("{:?}", opt);
}