// 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: 20 public class Foo<T> where T : new () { } class A { private A () { } } class X { static void Main () { object o = new Foo<A> (); } }