4

GCC accepts this but Clang rejects it as a redefinition:

template< typename >
void s() = delete;

template<>
void s< int >() {}

Who is right?

Potatoswatter
  • 134,909
  • 25
  • 265
  • 421

1 Answers1

4

It is a Clang bug and also CWG DR 941, which was already adopted by C++11. Clang is nonconforming.

Potatoswatter
  • 134,909
  • 25
  • 265
  • 421