dlr bug
[mcs.git] / tests / gtest-042.cs
blob7862bacd3d8b51527efe2a6a70a7d3b4693426c1
1 // Compare this to gcs0695-*.cs: these are the allowed cases.
3 namespace A
5 interface I<X>
6 { }
8 interface J<X,Y> : I<X>
9 { }
11 class A<X> : I<X>, I<A<X>>
12 { }
14 class B<X> : I<B<X>>, I<X>, I<A<X>>
15 { }
17 class C<X> : I<int>, I<A<X>>
18 { }
20 class D<X> : I<A<float>>, I<B<X>>
21 { }
23 class E<X,Y> : J<X,Y>, J<I<X>,I<Y>>
24 { }
26 class F<X> : J<X,I<X>>, J<X,X>
27 { }
30 // bug #69057
31 namespace B
33 struct KeyValuePair<K,V>
34 { }
36 interface ITest<T>
37 { }
39 interface ITest2<K,V> : ITest<KeyValuePair<K,V>>
40 { }
42 class MyTest<K,V> : ITest2<K,V>, ITest<KeyValuePair<K,V>>
43 { }
46 // bug #58303
47 namespace C
49 class S <K> { }
51 interface Z<T> { }
53 interface I<K> : Z<S<K>> { }
55 class C <K> : I<K>, Z<S<K>> { }
58 class Test
60 static void Main ()
61 { }