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

            Bug ID: 118698
           Summary: Compiler ICE on concept code accepted by MSVC and
                    clang
           Product: gcc
           Version: 14.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: davidhunter22 at gmail dot com
  Target Milestone: ---

Created attachment 60324
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=60324&action=edit
Tar file containging bug details

The attached code gives a compiler ICE. I have tried 14.20 and also the current
trunk version on Godbolt which I assume is 15.0 so I don't think this has been
fixed.
The code compiles and does what is expected on the latest MSVC and Clang.
Also attached are other compiler output etc
The core of the code that seem to 

    template <typename T, template <typename...> typename U>
    concept is_specialization_of = std::invocable<decltype([]<typename...
Args>(         U<Args...> const& ) { }),T>;

    template <typename T> concept is_foo = is_specialization_of<T,foo>;

I was messing around with trying to create a concept version of Walter Brown's
is_specialization_of type trait when I ran into this

Reply via email to