#include <iostream>
#include <vector>
#include <utility>

struct Foo
{
	Foo() { std::cout << "created\n"; }
	Foo(const Foo&) { std::cout << "copied\n"; }
	Foo(Foo&&) { std::cout << "moved\n"; }
};

int main()
{
	std::vector<Foo> vfoo;
	Foo foo;
	vfoo.push_back(std::move(foo));
}
