Merge pull request #5675 from mono/glib-debug-symbols
[mono.git] / mcs / tests / gtest-624.cs
1 using System;
2
3 class Model
4 {
5         public int Value;
6 }
7
8 class C1<T1>
9 {
10         public void Add (Func<T1, int> t)
11         {
12         }
13 }
14
15 abstract class C2<TModel>
16 {
17         public abstract void ApplyImpl<U> (C1<U> c1) where U : TModel;
18 }
19
20 class C3 : C2<Model>
21 {
22         public override void ApplyImpl<Foo> (C1<Foo> c1)
23         {
24                 c1.Add (t => t.Value);
25         }
26 }
27
28 class Program
29 {
30         static void Main ()
31         {
32                 var v1 = new C1<Model> ();
33                 var c3 = new C3 ();
34                 c3.ApplyImpl (v1);
35         }
36 }