What does this program print?

from Move semantics
C++23 (GCC 13.3.0) intermediate 2 min

What does this program print?

C++
#include <iostream>
#include <string>
#include <utility>

void route(const std::string&) { std::cout << "lvalue\n"; }
void route(std::string&&) { std::cout << "rvalue\n"; }

int main() {
    std::string item = "report";
    std::string&& ref = std::move(item);
    route(ref);
    route(std::move(ref));
}
Open in playground
Report an error