I'm honestly not sure if this is a legitimate issue or not, but after
switching from C++14 to C++17, the modules build started confusing
arrays and initializer lists. Work around the issue by being explicit.
template <size_t... Ns>
bool test(const zip_shortest<Iters...> &other,
std::index_sequence<Ns...>) const {
- return all_of(std::initializer_list<bool>{std::get<Ns>(this->iterators) !=
- std::get<Ns>(other.iterators)...},
+ return all_of(std::array{std::get<Ns>(this->iterators) !=
+ std::get<Ns>(other.iterators)...},
identity<bool>{});
}
#include "llvm/Support/FormatVariadicDetails.h"
#include "llvm/Support/NativeFormatting.h"
+#include <array>
#include <type_traits>
-#include <vector>
namespace llvm {
namespace detail {
return Default;
}
- for (const char *D : {"[]", "<>", "()"}) {
+ for (const char *D : std::array{"[]", "<>", "()"}) {
if (Style.front() != D[0])
continue;
size_t End = Style.find_first_of(D[1]);