#include <iostream>
using namespace std;
struct Foo {
template <typename U>
Foo(U&& i) : i(i){}
Foo(Foo& rhs) {
std::cout <<"copy";
}
int i;
};
int main() {
Foo f(42);
auto f2(f);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IEZvbyB7CgoJdGVtcGxhdGUgPHR5cGVuYW1lIFU+CglGb28oVSYmIGkpIDogaShpKXt9CgkKCUZvbyhGb28mIHJocykgewoJCXN0ZDo6Y291dCA8PCJjb3B5IjsKCX0KCQoJaW50IGk7Cn07CgppbnQgbWFpbigpIHsKCglGb28gZig0Mik7CglhdXRvIGYyKGYpOwoKCXJldHVybiAwOwp9