]> git.proxmox.com Git - rustc.git/blame - src/vendor/clap/src/args/macros.rs
New upstream version 1.19.0+dfsg1
[rustc.git] / src / vendor / clap / src / args / macros.rs
CommitLineData
8bb4bdeb 1
8bb4bdeb
XL
2macro_rules! yaml_vec_or_str {
3 ($v:ident, $a:ident, $c:ident) => {{
4 let maybe_vec = $v.as_vec();
5 if let Some(vec) = maybe_vec {
6 for ys in vec {
7 if let Some(s) = ys.as_str() {
8 $a = $a.$c(s);
9 } else {
10 panic!("Failed to convert YAML value {:?} to a string", ys);
11 }
12 }
13 } else {
14 if let Some(s) = $v.as_str() {
15 $a = $a.$c(s);
16 } else {
17 panic!("Failed to convert YAML value {:?} to either a vec or string", $v);
18 }
19 }
20 $a
21 }
22 };
23}
24
8bb4bdeb
XL
25macro_rules! yaml_to_str {
26 ($a:ident, $v:ident, $c:ident) => {{
7cac9316 27 $a.$c($v.as_str().unwrap_or_else(|| panic!("failed to convert YAML {:?} value to a string", $v)))
8bb4bdeb
XL
28 }};
29}
30
31macro_rules! yaml_to_bool {
32 ($a:ident, $v:ident, $c:ident) => {{
33 $a.$c($v.as_bool().unwrap_or_else(|| panic!("failed to convert YAML {:?} value to a string", $v)))
34 }};
35}
36
37macro_rules! yaml_to_u64 {
38 ($a:ident, $v:ident, $c:ident) => {{
39 $a.$c($v.as_i64().unwrap_or_else(|| panic!("failed to convert YAML {:?} value to a string", $v)) as u64)
40 }};
41}
42
43macro_rules! yaml_to_usize {
44 ($a:ident, $v:ident, $c:ident) => {{
45 $a.$c($v.as_i64().unwrap_or_else(|| panic!("failed to convert YAML {:?} value to a string", $v)) as usize)
46 }};
47}