# cartesian-array-product This crate provides a macro to generate an array with the cartesian product of multiple arrays. It is meant to be usable in `const` contexts. ## Usage Add this crate as a dependency: ```bash cargo add cartesian_array_product ``` ### Example ```rust use cartesian_array_product::cartesian_array; let product = cartesian_array!([1, 2], [3, 4]); let expected = [ (1, 3), (2, 3), (1, 4), (2, 4), ]; assert_eq!(product, expected); ``` See for further info. ### Caveat This macro doesn't allow trailing commas in the input arrays. This is because `$($var:whatever),*` doesn't match trailing commas, and adding manually `$($var:whatever),* $(,)?` is too much repetation for a thing that, honestly, isn't that important. (maybe i'm just writing this to convience myself because i hate not having trailing commas 😭😭😭)