https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107813

--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> ---
GCC 10 is correct. The template is a exact match for the argument, accepting
any argument type, so the enum should not be converted to unsigned char.

When you call this->o << t then there is no exact match, so an implicit
conversion to unsigned char happens.

Reply via email to