#include <string>
template<typename T>
void test(T x);
template<>
void test<const std::string &>(const std::string & test)
{
}
template<>
void test<const char *>(const char * test)
{
}
int main()
{
test(std::string("test"));
}
I2luY2x1ZGUgPHN0cmluZz4KCnRlbXBsYXRlPHR5cGVuYW1lIFQ+CnZvaWQgdGVzdChUIHgpOwoKdGVtcGxhdGU8Pgp2b2lkIHRlc3Q8Y29uc3Qgc3RkOjpzdHJpbmcgJj4oY29uc3Qgc3RkOjpzdHJpbmcgJiB0ZXN0KQp7Cn0KCnRlbXBsYXRlPD4Kdm9pZCB0ZXN0PGNvbnN0IGNoYXIgKj4oY29uc3QgY2hhciAqIHRlc3QpCnsKfQoKaW50IG1haW4oKQp7CiAgIHRlc3Qoc3RkOjpzdHJpbmcoInRlc3QiKSk7Cn0=
/home/EBdjtP/prog-bf4abf.o: In function `main':
prog.cpp:(.text+0x4d): undefined reference to `void test<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
clang: error: linker command failed with exit code 1 (use -v to see invocation)