]> git.proxmox.com Git - rustc.git/blobdiff - vendor/structopt/examples/enum_in_args.rs
New upstream version 1.52.1+dfsg1
[rustc.git] / vendor / structopt / examples / enum_in_args.rs
diff --git a/vendor/structopt/examples/enum_in_args.rs b/vendor/structopt/examples/enum_in_args.rs
new file mode 100644 (file)
index 0000000..70347da
--- /dev/null
@@ -0,0 +1,25 @@
+//! How to use `arg_enum!` with `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(possible_values = &Baz::variants(), case_insensitive = true)]
+    i: Baz,
+}
+
+fn main() {
+    let opt = Opt::from_args();
+    println!("{:?}", opt);
+}