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

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |jason at gcc dot gnu.org
     Ever confirmed|0                           |1
                 CC|                            |jason at gcc dot gnu.org
           Keywords|ice-on-valid-code           |ice-on-invalid-code
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|2024-07-23 00:00:00         |2024-07-26

--- Comment #7 from Jason Merrill <jason at gcc dot gnu.org> ---
The problem is in stdexec/__detail/__type_traits.hpp:

  // __decay_t: An efficient implementation for std::decay                      
#if STDEXEC_HAS_BUILTIN(__decay)

  template <class _Ty>
  using __decay_t = __decay(_Ty);

and then using __decay_t in function signatures, as the error message complains
about.  The testcase works on GCC 14 because it doesn't have the __decay
built-in; adding 0 && to the above #if makes it work on GCC 15 as well.

I don't know why stdexec doesn't just use std::decay_t?

In any case, this is ice-on-invalid, not -valid.

Reply via email to