summaryrefslogtreecommitdiff
path: root/mcs/tests/gtest-359.cs
blob: c927dc465b979917e5057b1df84286735d8fb1ef (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
class BaseGeneric<T>
{
	public class InnerDerived
	{
		public InnerDerived (T t)
		{
		}
	}
	
	public class GenericInnerDerived<U>
	{
		public GenericInnerDerived (T t, U u)
		{
		}
	}
}

class BaseConcrete : BaseGeneric<string>
{
}

class Concrete_A : BaseGeneric<int>
{
}

class Concrete_B : BaseConcrete
{
	InnerDerived foo1;
}

class BaseGeneric_2<T, U>
{
	public class InnerDerived
	{
		public InnerDerived (T t, U u)
		{
		}
	}
}

class BaseGeneric_1<T> : BaseGeneric_2<T, string>
{
}

class Concrete_2 : BaseGeneric_1<bool>
{
}


class Program
{
    public static void Main ()
    {
		new Concrete_B.InnerDerived ("abc");
		new Concrete_A.InnerDerived (11);
		new Concrete_A.GenericInnerDerived<int> (1, 2);
		new Concrete_2.InnerDerived (false, "bb");
    }
}