namespace N
{
	public class TestG
	{
		public static void Foo<T> ()
		{
		}
	}
}

class NonGeneric { }
class Generic<T> { }

class m
{
	public global::NonGeneric compiles_fine (global::NonGeneric i, out global::NonGeneric o)
	{
		o = new global::NonGeneric ();
		return new global::NonGeneric ();
	}

	public global::Generic<int> does_not_compile (global::Generic<int> i, out global::Generic<int> o)
	{
		o = new global::Generic<int> ();
		return new global::Generic<int> ();
	}

	public static void Main ()
	{
		global::N.TestG.Foo<int> ();
	}
}