[Bug c++/71125] [concepts] Spurious 'invalid reference to function concept error' issued when overloads are not all declared with the concept specifier

andrew.n.sutton at gmail dot com gcc-bugzilla@gcc.gnu.org
Mon Oct 14 20:36:00 GMT 2019


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

--- Comment #3 from Andrew Sutton <andrew.n.sutton at gmail dot com> ---
The TS did allow overloading function concepts.

Function concepts have some parsing issues related to TS-style terse notation,
overloading and variadic templates. In particular, there are places where
writing C<T> forms a (possibly) syntactically valid placeholder C<?, T> as part
of a functional cast expression, which leads to the error you're seeing: you're
incompletely instantiating a template-id that resolved to the template with two
parameters.

I think that's the error you're seeing here, but I wouldn't consider the issue
a show stopper. After all, function concepts don't exist in C++20 and they
can't be overloaded.

That said, I'm okay leaving this open.


More information about the Gcc-bugs mailing list