Wont compile. The type of the elements cant be infrefered.
auto rng = std::array{{1,2}, {3,4}, {5,6},...};
CTAD for each argument results in lots of retyping:
auto rng = std::array{std::array{1,2}, std::array{3,4}, std::array{5,6},...};
If you specify the type of the elements, then the size of the array N
can no longer be deduced:
auto rng = std::array<std::array<std::array<int, 2>>, N>{{1,2}, {3,4}, {5,6},...};
C++20 provides a std::to_array
function where you can provide the element type and while still deducing the length
auto rng = std::to_array<std::array<int, 2>>({{1,2}, {3,4}, {5,6},...});