#include <iostream>
using namespace std;

struct Foo {

	template <typename U>
	Foo(U&& i) : i(i){}
	
	Foo(const Foo& rhs) {
		std::cout <<"copy";
	}
	
	int i;
};

int main() {

	Foo f(42);
	auto f2(f);

	return 0;
}