https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86356
ensadc at mailnesia dot com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ensadc at mailnesia dot com --- Comment #1 from ensadc at mailnesia dot com --- Reduced: template<bool B> struct mp_bool { static constexpr bool value = B; }; template<class... T> using mp_any = mp_bool<(static_cast<bool>(T::value) || ...)>; template<class T> struct A { static constexpr bool value = true; }; template<bool> struct variant_base_impl {}; template<class... T> using variant_base = variant_base_impl<mp_any<mp_bool<true>, A<T>...>::value>; int main() { variant_base<int>(); }