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

            Bug ID: 104410
           Summary: Internal error using default-initialized constexpr
                    bool in requires clause
           Product: gcc
           Version: 11.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: oliver.rosten at googlemail dot com
  Target Milestone: ---

#include <type_traits>

template<class T>
constexpr bool use_func_v{};

// Using this instead is fine!
//template<class T>
//constexpr bool use_func_v{false};

struct func_obj
{
    template<class T>
        requires use_func_v<T>
    void operator()(T, T) const
    {}
};

constexpr bool bar{std::is_invocable_v<func_obj, char, char>};

----> internal error, see

https://godbolt.org/z/qsbPYq67a

Reply via email to