https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67969
Amir Kirsh <kirshamir at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |kirshamir at gmail dot com --- Comment #4 from Amir Kirsh <kirshamir at gmail dot com> --- // Bug still exists in gcc 11.2 template<typename T> concept SmallVar = (sizeof(T) <= sizeof(int)); void print(SmallVar auto t) { std::cout << t << std::endl; } void print(const auto& t) { std::cout << t << std::endl; } int main() { static_assert(SmallVar<int>); // ok static_assert(SmallVar<decltype(6)>); // ok static_assert(!SmallVar<long long>); // ok print("hello"); print('a'); // gcc 11.2 sees here ambiguity print(6); // gcc 11.2 sees here ambiguity } Code: https://godbolt.org/z/jq8edKM3E