#include <iostream>
using std::cout;
class A {
public:
void copy() const {
cout << "copy's const version\n";
}
void copy() {
cout << "copy's non-const version\n";
}
};
A const fun1() { return A(); }
A fun2() { return A(); }
int main() {
fun1().copy();
fun2().copy();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBzdGQ6OmNvdXQ7CgpjbGFzcyBBIHsgCnB1YmxpYzoKICAgIHZvaWQgY29weSgpIGNvbnN0IHsKICAgICAgICBjb3V0IDw8ICJjb3B5J3MgY29uc3QgdmVyc2lvblxuIjsKICAgIH0gICAKICAgIHZvaWQgY29weSgpIHsKICAgICAgICBjb3V0IDw8ICJjb3B5J3Mgbm9uLWNvbnN0IHZlcnNpb25cbiI7CiAgICB9ICAgCn07CgpBIGNvbnN0IGZ1bjEoKSB7IHJldHVybiBBKCk7IH0KQSBmdW4yKCkgeyByZXR1cm4gQSgpOyB9CgppbnQgbWFpbigpIHsKICAgIGZ1bjEoKS5jb3B5KCk7CiAgICBmdW4yKCkuY29weSgpOwp9