Lazily nit mono_class_setup_supertypes correctly.
[mono-project.git] / mcs / tests / dtest-017.cs
blob656f2c7bbdcce6f358f93c23f6f81da8148a6bc9
1 using System;
3 class B<U>
7 class C<T> : B<T>
11 interface I<T> : IA<T>
15 interface IA<U>
19 struct S<T>
23 delegate dynamic D (dynamic d);
25 class DynamicAssignments
27 static void Foo (IA<object> o)
31 static int Main ()
33 dynamic d1 = null;
34 dynamic d2 = null;
35 d1 = d2;
36 d2 = d1;
38 B<object> g1 = null;
39 B<dynamic> g2 = null;
40 g1 = g2;
41 g2 = g1;
43 B<B<object>> g_n1 = null;
44 B<B<dynamic>> g_n2 = null;
45 g_n1 = g_n2;
46 g_n2 = g_n1;
48 object[] o = null;
49 dynamic[] d = o;
51 C<object> a = null;
52 B<dynamic> b = a;
53 a = (C<object>)b;
54 a = (C<dynamic>)b;
56 I<object> io = null;
57 IA<dynamic> id = io;
59 IA<object> ia_o = null;
60 IA<dynamic> ia_d = ia_o;
62 S<dynamic> s_d = new S<dynamic> ();
63 S<object> s_o = s_d;
64 S<object>? s_o_n = s_d;
66 D del = delegate (object del_arg) {
67 return (object) null;
70 Action<IA<dynamic>> del2 = Foo;
72 Action<object> del31 = null;
73 Action<dynamic> del32 = del31;
75 I<dynamic>[] a20 = null;
76 I<object>[] b20 = a20;
78 return 0;