Merge pull request #4816 from BrzVlad/fix-remoting-exception
[mono.git] / mcs / tests / gtest-042.cs
1 // Compare this to gcs0695-*.cs: these are the allowed cases.
2
3 namespace A
4 {
5         interface I<X>
6         { }
7
8         interface J<X,Y> : I<X>
9         { }
10
11         class A<X> : I<X>, I<A<X>>
12         { }
13
14         class B<X> : I<B<X>>, I<X>, I<A<X>>
15         { }
16
17         class C<X> : I<int>, I<A<X>>
18         { }
19
20         class D<X> : I<A<float>>, I<B<X>>
21         { }
22
23         class E<X,Y> : J<X,Y>, J<I<X>,I<Y>>
24         { }
25
26         class F<X> : J<X,I<X>>, J<X,X>
27         { }
28 }
29
30 // bug #69057
31 namespace B
32 {
33         struct KeyValuePair<K,V>
34         { }
35
36         interface ITest<T>
37         { }
38
39         interface ITest2<K,V> : ITest<KeyValuePair<K,V>>
40         { }
41
42         class MyTest<K,V> : ITest2<K,V>, ITest<KeyValuePair<K,V>>
43         { }
44 }
45
46 // bug #58303
47 namespace C
48 {
49         class S <K> { }
50
51         interface Z<T> { }
52
53         interface I<K> : Z<S<K>> { }
54
55         class C <K> : I<K>, Z<S<K>> { }
56 }
57
58 class Test
59 {
60         public static void Main ()
61         { }
62 }