https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80662
--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> ---
EDG matches GCC with --g++ (which is what ICC uses) but in it's strict mode it
says they're ambiguous:
"s.C", line 13: error: more than one operator "<<" matches these operands:
function template "void operator<<(C &&, const T &)" (declared at
line 4)
function template "void my_stream::operator<<(T &&)" (declared at
line 8)
operand types are: my_stream << const char [12]
my_stream{} << "hello world";
^
1 error detected in the compilation of "s.C".
So the EDG team identified this as a G++ bug/oddity and emulated it for --g++
mode.