#include <iostream>
using namespace std;

struct s{};


void someFunction(s& value){
    std::cout << "ref" << std::endl;
}

void someFunction(const s&& value){
    std::cout << "const" << std::endl;
}

void someFunction(s&& value){
	std::cout << "non const" << std::endl;
}

const s foo() { return s(); }
s bar() { return s(); }


int main() {
    someFunction(bar());
    someFunction(foo());
	return 0;
}