https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89705
--- Comment #5 from Marek Polacek <mpolacek at gcc dot gnu.org> --- Another testcase with an lvalue reference: struct W { operator const volatile int(); }; const int& i = W(); But I think all those testcases are invalid, because [dcl.init.ref] says: If T1 is reference-related to T2, cv1 shall be the same cv-qualification as, or greater cv-qualification than, cv2.