// CS0411: The type arguments for method `Foo<U>.DoSomething<U>(System.Func<U,U>)' cannot be inferred from the usage. Try specifying the type arguments explicitly
// Line: 15

using System;

public class Foo<T>
{
	public void DoSomething<U> (Func<U, T> valueExpression) { }
}

public class Bar
{
	protected void DoAnything<T, U> (U value)
	{
		new Foo<U> ().DoSomething (value);
	}
}