using System;

delegate void Foo ();

class X
{
	public void Hello<U> (U u)
	{ }

	public void Test<T> (T t)
	{
		T u = t;
		Hello (u);
		Foo foo = delegate {
			Hello (u);
		};
		foo ();
		Hello (u);
	}

	public static void Main ()
	{
		X x = new X ();
		x.Test (3);
	}
}