String &validate(String &s) {
 return s;
}

String s = String("");
String str = validate(s);
&s == &str; // true

上記のコードを右辺値に対しても実現したいのですが、C++ではそもそも可能でしょうか。
以下の方法を試しましたが、どうしてもムーブコンストラクタが必要になります

左辺のインスタンスをコピー無しでそのまま右辺に渡したいのです

String &&validate(String &&s) {
 return std::move(s);
}

String str = validate(String(""));
// コピーコンストラクタもデストラクタも呼ばれないようにしたい