#[rustfmt::skip] macro_rules! all_the_tuples { ($name:ident) => { $name!(M1); $name!(M1, M2); $name!(M1, M2, M3); $name!(M1, M2, M3, M4); $name!(M1, M2, M3, M4, M5); $name!(M1, M2, M3, M4, M5, M6); $name!(M1, M2, M3, M4, M5, M6, M7); $name!(M1, M2, M3, M4, M5, M6, M7, M8); $name!(M1, M2, M3, M4, M5, M6, M7, M8, M9); $name!(M1, M2, M3, M4, M5, M6, M7, M8, M9, M10); $name!(M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11); $name!(M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12); $name!(M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, M13); $name!(M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, M13, M14); $name!(M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, M13, M14, M15); $name!(M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, M13, M14, M15, M16); }; } #[rustfmt::skip] macro_rules! all_the_tuples_special_first { ($name:ident) => { $name!([], M1); $name!([M1], M2); $name!([M1, M2], M3); $name!([M1, M2, M3], M4); $name!([M1, M2, M3, M4], M5); $name!([M1, M2, M3, M4, M5], M6); $name!([M1, M2, M3, M4, M5, M6], M7); $name!([M1, M2, M3, M4, M5, M6, M7], M8); $name!([M1, M2, M3, M4, M5, M6, M7, M8], M9); $name!([M1, M2, M3, M4, M5, M6, M7, M8, M9], M10); $name!([M1, M2, M3, M4, M5, M6, M7, M8, M9, M10], M11); $name!([M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11], M12); $name!([M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12], M13); $name!([M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, M13], M14); $name!([M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, M13, M14], M15); $name!([M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, M13, M14, M15], M16); }; }