Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gtest-042.cs « tests « mcs - github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 51e5a4ee3cb01675594a6d57735881a35cf5cd21 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
// Compare this to gcs0695-*.cs: these are the allowed cases.

namespace A
{
	interface I<X>
	{ }

	interface J<X,Y> : I<X>
	{ }

	class A<X> : I<X>, I<A<X>>
	{ }

	class B<X> : I<B<X>>, I<X>, I<A<X>>
	{ }

	class C<X> : I<int>, I<A<X>>
	{ }

	class D<X> : I<A<float>>, I<B<X>>
	{ }

	class E<X,Y> : J<X,Y>, J<I<X>,I<Y>>
	{ }

	class F<X> : J<X,I<X>>, J<X,X>
	{ }
}

// bug #69057
namespace B
{
	struct KeyValuePair<K,V>
	{ }

	interface ITest<T>
	{ }

	interface ITest2<K,V> : ITest<KeyValuePair<K,V>>
	{ }

	class MyTest<K,V> : ITest2<K,V>, ITest<KeyValuePair<K,V>>
	{ }
}

// bug #58303
namespace C
{
	class S <K> { }

	interface Z<T> { }

	interface I<K> : Z<S<K>> { }

	class C <K> : I<K>, Z<S<K>> { }
}

class Test
{
	public static void Main ()
	{ }
}