https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121055
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2025-07-16 Ever confirmed|0 |1 --- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- The key thing here is that the reference_wrapper<F> always gives us F& and so it shouldn't be possible to invoke a &&-qualified function on it. The relevant part of the INVOKE spec is: (t1.get().*f)(t2 , . . . , tN ) when f is a pointer to a member function of a class T and remove_cvref_t<decltype(t1 )> is a specialization of reference_wrapper; where t1.get() gives an lvalue.