I have a static_loop
construct like this
template void static_loop(F&& f) {
static_assert(n <= 8 &a
Change
template
constexpr size_t tupleSize(T) { return tuple_size_v; }
to:
template
constexpr size_t tupleSize(T const&) { return tuple_size_v; }
That is, take the argument by reference to const, not by value. As-is, you're trying to copy a non-constexpr tuple in a constant expression - that can't work. By reference is fine since you're not actually reading the tuple.