#include <iostream>
void TEST_FUNC(int) { std::cout<<"TEST_FUNC(int)"<<std::endl; }
void TEST_FUNC(char) { std::cout<<"TEST_FUNC(char)"<<std::endl; }
int main()
{
TEST_FUNC(-'a'); // <----- call of TEST_FUNC(int) !!!
TEST_FUNC((char)-'a');
TEST_FUNC('a');
auto v=-'a';
std::cout<<"TYPE:"<<typeid(v).name()<<std::endl;
std::cout<<"TYPE:"<<typeid(-'a').name()<<std::endl;
return 0;
}
CiNpbmNsdWRlIDxpb3N0cmVhbT4KCnZvaWQgVEVTVF9GVU5DKGludCkgeyBzdGQ6OmNvdXQ8PCJURVNUX0ZVTkMoaW50KSI8PHN0ZDo6ZW5kbDsgfQoKdm9pZCBURVNUX0ZVTkMoY2hhcikgeyBzdGQ6OmNvdXQ8PCJURVNUX0ZVTkMoY2hhcikiPDxzdGQ6OmVuZGw7IH0KCmludCBtYWluKCkKCnsKClRFU1RfRlVOQygtJ2EnKTsgLy8gPC0tLS0tIGNhbGwgb2YgVEVTVF9GVU5DKGludCkgISEhCgpURVNUX0ZVTkMoKGNoYXIpLSdhJyk7CgpURVNUX0ZVTkMoJ2EnKTsKCmF1dG8gdj0tJ2EnOwoKc3RkOjpjb3V0PDwiVFlQRToiPDx0eXBlaWQodikubmFtZSgpPDxzdGQ6OmVuZGw7CgpzdGQ6OmNvdXQ8PCJUWVBFOiI8PHR5cGVpZCgtJ2EnKS5uYW1lKCk8PHN0ZDo6ZW5kbDsKCnJldHVybiAwOwoKfQ==