Closed
Description
The following code causes Clang to crash:
#include <tuple>
template<typename A, typename B>
void bar(A a, B b) {}
template<typename... A, typename... B>
void foo(std::tuple<A...> a, std::tuple<B...> b) {
std::apply([b](auto... a) {
(std::apply([a](auto... b) {
(bar(a, b), ...);
}, b), ...);
}, a);
}
int main() {
foo(std::tuple<>{}, std::tuple<>{});
}