using System.Threading.Tasks;
class C
{
async Task<int> M1()
{
return foo; // correctly generates int
}
async Task<int> M2() => foo; // generates Task<int>
}
If I choose to generate a field in M1, its type will be int. If I do the same inside M2, the type of the field will be Task<int>, which is wrong.