https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78939

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I think this boils down if

#include <tuple>
struct S { int s; };
std::tuple_size<const S> t;
is valid or not (with <S> instead of <const S> it is invalid).
   // _GLIBCXX_RESOLVE_LIB_DEFECTS
   // 2770. tuple_size<const T> specialization is not SFINAE compatible
   template<typename _Tp, typename = void>
-    struct __tuple_size_cv_impl { };
+    struct __tuple_size_cv_impl /*{ }*/;

in utility makes it invalid and the decomposition then works fine.

Reply via email to