[Bug c++/91618] New: template-id required to friend a function template, even for a qualified-id
barry.revzin at gmail dot com
gcc-bugzilla@gcc.gnu.org
Fri Aug 30 17:19:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91618
Bug ID: 91618
Summary: template-id required to friend a function template,
even for a qualified-id
Product: gcc
Version: 10.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: barry.revzin at gmail dot com
Target Milestone: ---
Reduced from StackOverflow (https://stackoverflow.com/q/57730286/2069064):
template <class T> void f(T);
struct A {
friend void ::f(A);
};
gcc rejects this with:
source>:4:22: error: 'void f(A)' should have been declared inside '::'
4 | friend void ::f(A);
| ^
gcc accepts:
template <class T> void f(T);
struct A {
friend void ::f<>(A);
};
But [temp.friend]/1.3 says that qualified-ids can find matching function
templates... I shouldn't need to provide a template-id.
More information about the Gcc-bugs
mailing list