class Bar
{
	Bar(Bar const&) = default;
	Bar(Bar&&) = default;

public:
	Bar() = default;
	
	friend int main();
};

void fooA(const Bar& bar)
{
	//Bar bar_copy(bar); // error: 'constexpr Bar::Bar(const Bar&)' is private
}

void fooB(Bar bar) { }

int main()
{
	fooB(Bar()); // OK: Main is friend
}