// CS0508: `A<T>.B<H>.Test()': return type must be `A<T>.B<H>' to match overridden member `A<A<T>.B<H>>.Test()'
// Line: 10

abstract class A<T>
{
	public abstract T Test ();

	public class B<H> : A<B<H>>
	{
		public override B<H> Test ()
		{
			return this;
		}
	}
}