https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92158
--- Comment #10 from Jonny Grant <jg at jguk dot org> --- C++ 'enum class' gives a nice error for conversion to unsigned. Example: enum class E { a = 1 } ; unsigned i = E::a; I've asked this before, will just write again so it is on a ticket. I understand C++ allows implicit conversion of enum's, it would be good to generate a warning with the following example in C++. So I could make the conversion explicit enum E { a = 1 } ; unsigned i = a;