https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68891
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Keywords| |accepts-invalid Status|UNCONFIRMED |NEW Last reconfirmed| |2021-11-04 --- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- Reduced: struct V { (&operator double ())[3] { return v; } double v[3]; }; static void Print( const double (&)[3] ) { } int main() { V v = {0,1,2}; Print( v ); } EDG accepts it too. MSVC says: error C2586: incorrect user-defined conversion syntax: illegal indirections