// CS0310: The type `A' must have a public parameterless constructor in order to use it as parameter `T' in the generic type or method `Foo<T>'
// Line: 18

public class Foo<T>
	where T : new ()
{
}

class A
{
	private A ()
	{ }
}

class X
{
	Foo<A> foo;

	static void Main ()
	{
	}
}