this is not an error as well as SFINAE in C++