https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107813
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |INVALID Status|UNCONFIRMED |RESOLVED --- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- Reduced: void f(unsigned char) = delete; void f(int) { } enum TEnum: unsigned char { Kot = 67 }; template<typename T> void g(const T& t) { f(t); } template<> void g(const unsigned char&) { } int main() { g(Kot); } This compiles with GCC 9 and not with GCC 10. But GCC 10 is correct, this was fixed by commit r10-3736-ge295e3d981355c PR c++/92032 - DR 1601: Promotion of enum with fixed underlying type.