#include <iostream>
#include <memory>
#include <vector>
struct TEST
{
	std::unique_ptr<int> m_l;
	TEST(
		std::unique_ptr<int>&& l)
	{
		m_l = std::move(l);
	};

};
void Bar()
{
	std::vector<TEST> vec;
	std::unique_ptr<int> a(new int);
	//Compiles fine without a Move Constructor
	TEST(std::move(a));
	//Requires a Move Contructor to compile
	vec.push_back(
		TEST(std::move(a)));
}
int main()
{		
	Bar();
	return 0;
}