1#[macro_export]
14macro_rules! array_single {
15 (Tuple2<$t1:ty, $t2:ty>, ($val1:expr, $val2:expr)) => {{
16 let val1 = $val1.to_string().parse().unwrap();
17 let val2 = $val2.to_string().parse().unwrap();
18 Array::<Tuple2<$t1, $t2>>::single(Tuple2(val1, val2))
19 }};
20 (Tuple3<$t1:ty, $t2:ty, $t3:ty>, ($val1:expr, $val2:expr, $val3:expr)) => {{
21 let val1 = $val1.to_string().parse().unwrap();
22 let val2 = $val2.to_string().parse().unwrap();
23 let val3 = $val3.to_string().parse().unwrap();
24 Array::<Tuple3<$t1, $t2, $t3>>::single(Tuple3(val1, val2, val3))
25 }};
26 (List<$tt:ty>, vec![$($x:expr),*]) => {{
27 let values = vec![$($x),*]
28 .into_iter()
29 .map(|i| i.to_string().parse().unwrap())
30 .collect::<Vec<_>>();
31 Array::<List<$tt>>::single(List(values))
32 }};
33 ($tt:ty, $x:expr) => {{
34 let value = $x.to_string().parse().unwrap();
35 Array::<$tt>::single(value)
36 }};
37}