is a const&& method overload a code smell? ie is there a way of calling such an overload from somewhere that is itself not a code smell? eg this overload set should be sufficient for anything irl:
struct S {
auto foo() &;
auto foo() const&;
auto foo() &&;
// auto foo() const&&; // is there any use for this?
};
are there legitimate ways to call foo() const&& except from, eg, withing an expression in which a function returns const S, which is already smelly?
const S bar(); // this is already smelly
int main() {
bar().foo(); // will call const&& if it exists, otherwise const&.
}