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

--- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
This points to a defect in the P0012R1 implementation:

markus@x4 tmp % cat facet.ii
struct locale;
template <typename> bool has_facet(const locale &) throw();
extern template bool has_facet<int>(const locale &);

markus@x4 tmp % clang++ -std=c++1z -c facet.ii
facet.ii:3:22: error: explicit instantiation of 'has_facet' does not refer to a
function template, variable template, member function, member class, or static
data member
extern template bool has_facet<int>(const locale &);
                     ^
facet.ii:2:26: note: candidate template ignored: could not match 'bool (const
locale &) throw()' against 'bool (const locale &)'
template <typename> bool has_facet(const locale &) throw();
                         ^
1 error generated.

markus@x4 tmp % g++ -Wall -Wextra -std=c++1z -c facet.ii
markus@x4 tmp %

Reply via email to