https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103358
Iain Sandoe <iains at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |iains at gcc dot gnu.org --- Comment #1 from Iain Sandoe <iains at gcc dot gnu.org> --- There was a long discussion about this between the various WG21 paper authors. The stated intend was that 'this' pointer and the 'lambda object pointer' were intended to be cast to references (to the same type as their pointers). This behaviour should be the same between MSVC, clang and GCC (but I fear that the amendment did not make C++20 timescale - so we might need a coordinated change to remove it from the compilers). Does that explain what you are seeing?