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

            Bug ID: 115245
           Summary: Fails to demangle some concepts
           Product: gcc
           Version: 14.1.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: rguenth at gcc dot gnu.org
  Target Milestone: ---

_ZZN5OuterIvE6methodIvEEvvQ3cstITL0__EEN5InnernwEm and
_ZZN5OuterIvE6methodIvEEvvQ3cstITL0__EEN5InnerdlEPv fail to demangle.
Produced by

using size_t = decltype(sizeof(0));
template <class U>
static constexpr bool cst = true;
template<class T>
struct Outer
{
    Outer();
    template <class U> void method() requires cst<U>
    {
        struct Inner
        {
            static void* operator new(size_t){return new char;}
            static void operator delete(void*){}
            Outer<void> t;
        };
        new Inner;
    }
};
void f()
{
    Outer<void>{}.method<void>();
}

Reply via email to