On Friday, December 30, 2022, Jason McKesson via Std-Discussion <std-discussion@lists.isocpp.org> wrote:

`= delete` as applied to an rvalue `this` overload would be done to
prevent someone from calling that function with an rvalue.


To achieve this behaviour, it's better to define the unary '&' operator with an ampersand at the end of it:

    MyClass *operator&(void) &;

And so we could make it a compiler error to delete the && one.