Having the following simple code:
#include <concepts>
auto f(const auto&) { }
auto f(std::integral auto) {}
int main()
{
f(5);
}
We have an ambiguous call with clang & gcc but MSVC chooses the more constrained one. So far I found nothing that would support the clang's & gcc's behavior. So is it a bug in both compilers or there is something that makes this call ambiguous?