1#[doc(hidden)]
2#[macro_export]
3macro_rules! __zip__expand {
4 ([$(($iae:expr, $ia:ident))*]) => {{
5 let mut oa = $crate::__maybe_uninit_array_uninit();
6 $(
7 let $ia = ::core::mem::ManuallyDrop::new($iae);
8 let $ia = $crate::__manually_drop_inner_ref(&$ia);
9 )*
10 let len = $crate::__same_len!(&oa $(,$ia)*);
11 let mut index = 0;
12 while index < len {
13 oa[index].write(($(unsafe { ::core::ptr::read(&$ia[index]) }),*));
14 index += 1;
15 }
16 unsafe { $crate::__maybe_uninit_array_assume_init(oa) }
17 }};
18}
19
20#[macro_export]
32macro_rules! zip {
33 ($($iae:expr),* $(,)?) => {
34 $crate::__zip_left!(
35 [$(($iae, ))*]
36 [(ia0) (ia1) (ia2) (ia3) (ia4) (ia5) (ia6) (ia7) (ia8) (ia9) (ia10) (ia11)]
37 "unsupported number of inputs"
38 $crate::__zip__expand!
39 )
40 };
41}