Updated with review feedback.
[mono.git] / mcs / tests / test-anon-164.cs
1 using System;
2
3 class C<T> where T : C<T>
4 {
5         public static void Foo<U> (U arg) where U : C<U>, new ()
6         {
7                 var i = new U ();
8                 {
9                         var ii = new U ();
10                         Func<U> f = () => i;
11                         {
12                                 Action a = () => C<U>.Run (ii);
13                                 a ();
14                         }
15                         f ();
16                 }
17         }
18         
19         static void Run (T a)
20         {
21         }
22 }
23
24 class D : C<D>
25 {
26 }
27
28 class E : C<E>
29 {
30 }
31
32 class A
33 {
34         public static int Main ()
35         {
36                 D.Foo (new E ());
37                 return 0;
38         }
39 }