https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85848
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |rejects-valid Status|WAITING |NEW --- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> --- Yes, thanks for providing the necessary info. Reduced: using bar = int; struct box { explicit operator bar(); } b; bar&& b1 = static_cast<bar&&>(b); bar&& b2( b ); GCC rejects the conversion in the initializer for both b1 and b2. EDG rejects b1 only. MSVC rejects both. Clang accepts both.