using System; using System.Threading.Tasks; class Test { static int Foo (Func> f) { return 1; } static int Foo (Func> f) { return 2; } public static int Main () { if (Foo (async (string str) => (short) 1) != 2) return 1; return 0; } }