I have constexpr lookup tables that have 1024 elements and look like this:
constexpr auto ln2_mantissa = std::array<std::uint32_t, 1024>{0x651fbb09u, 0xe35dff88u, /* ... */ 0x2168c234u, 0xc90fdaa2u};
std::array calls this compile time check:
#if _HAS_CXX17
template <class _First, class... _Rest>
struct _Enforce_same {
static_assert(conjunction_v<is_same<_First, _Rest>...>,
"N4687 26.3.7.2 [array.cons]/2: "
"Requires: (is_same_v<T, U> && ...) is true. Otherwise the program is ill-formed.");
using type = _First;
};
in order to guarantee that all elements inside the {0x651fbb09u, /* ... */} are of the same type.
Visual Studio tends to always display the full std::_Conjunction template chain as an active error whenever I encounter any build error (even though the error is somewhere else; all types inside the std::array<>{ ... } are equal).
Error (active) E1018 class "std::_Conjunction<true, std::is_same<unsigned int, unsigned int>, std::is_same<unsigned int, unsigned int>, std::is_same<unsigned int, unsigned int>, /* ... */
this makes it very difficult to see my real build errors as the output above is listed first and multiple times.
It triggers the active errors E0262, E1018 and E0135
is there a way to exclude these listings from my Error List?
Visual Studio Community 2019 Version 16.6.2
