// CS0202: foreach statement requires that the return type `Foo.E[]' of `Foo.P.GetEnumerator()' must have a suitable public MoveNext method and public Current property
// Line: 18

public class Foo
{
        public class E {}
            
        public class P
        {
            public E[] GetEnumerator ()
            {
                return null;
            }
        }
       
        public static void Main ()
        {
            P o = new P ();
            foreach (P p in o)
            {
            }
        }
}