2009-10-20 Jb Evain <jbevain@novell.com>
[mcs.git] / tests / gtest-079.cs
blob2df3c2fcf8fb3ca841cec94ceb8c76a31b115e25
1 namespace A
3 public interface IExtensible<T>
5 void AddAll<U> (U u)
6 where U : T;
9 public class ArrayList<T> : IExtensible<T>
11 void IExtensible<T>.AddAll<U> (U u)
13 InsertAll (u);
16 void InsertAll (T t)
17 { }
21 namespace B
23 public interface IExtensible<S,T>
25 void AddAll<U> (U t)
26 where U : S;
29 public class ArrayList<X,Y> : IExtensible<Y,X>
31 public void AddAll<Z> (Z z)
32 where Z : Y
34 InsertAll (z);
37 void InsertAll (Y y)
38 { }
42 namespace C
44 public interface IExtensible<S>
46 void AddAll<T> (T t)
47 where T : S;
50 public class Foo<U>
51 { }
53 public class ArrayList<X> : IExtensible<Foo<X>>
55 public void AddAll<Y> (Y y)
56 where Y : Foo<X>
58 InsertAll (y);
61 void InsertAll (Foo<X> foo)
62 { }
66 class X
68 static void Main ()
69 { }