https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107605
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Blocks|101603 |
Summary|GCC rejects valid program |constraint on a member
|involving requires-clause |function does causes
| |ambigious and not allowing
| |forming a pointer to the
| |function
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
At first I thought it was a pointer to member function issue but nope it is not
as the following happens too but we need to have have the class as a template
rather than the function:
extern "C" int puts(const char*);
template <typename T>
class myclass {
public:
static void func(const T&) requires true
{
puts("true");
}
static void func(const T&) requires false
{
puts("false");
}
};
auto mylambda = &myclass<int>::func;
Referenced Bugs:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101603
[Bug 101603] [meta-bug] pointer to member functions issues