Merge pull request #495 from nicolas-raoul/fix-for-issue2907-with-no-formatting-changes
[mono.git] / mcs / tests / gtest-152.cs
1 using System;
2
3 public interface IFoo
4 {
5         IFoo Hello ();
6 }
7
8 public interface IFoo<T> : IFoo
9 {
10         new IFoo<T> Hello ();
11 }
12
13 public interface ICollectionValue<T>: IFoo<T>
14 {
15 }
16
17 public interface ICollection<T>: ICollectionValue<T>
18 { }
19
20 public abstract class EnumerableBase<T> : IFoo<T>
21 {
22         public abstract IFoo<T> Hello();
23
24         IFoo IFoo.Hello ()
25         {
26                 return Hello ();
27         }
28 }
29
30 public abstract class CollectionBase<T> : EnumerableBase<T>
31 {
32 }
33
34 public class HashBag<T>: CollectionBase<T>, ICollection<T>
35 {
36         public override IFoo<T> Hello ()
37         {
38                 return this;
39         }
40 }
41
42 class X
43 {
44         public static void Main ()
45         {
46         }
47 }