C# 8.0 泛型:可能错误返回空引用?

SWd*_*WdV 5 c# generics c#-8.0 nullable-reference-types

在我安装 VS 社区 16.5.0 预览版 2.0 之前,以下使用可为空引用的通用函数工作正常(在此之前我使用预览版 1.0,我使用的是 .NET Core 3.0/3.1):

static async Task<C> Test<C>(MyClass a, MyClass b, Func<MyClass, Task<C>> extract) where C : class? =>
    await extract(a) ?? (b is {} ? await extract(b) : null);

static T MinOrDefault<T>(this IEnumerable<T> enumerable) =>
    enumerable.Any() ? enumerable.Min() : default;
Run Code Online (Sandbox Code Playgroud)

但现在两者都给出错误CS8603 Possible null reference return. 有谁知道这种行为是否是故意的?有没有一个好的方法来解决这个问题?

这里提出了类似的问题,但并没有真正令人满意的答案;特别是因为它不能与评论Task中提到的 s很好地配合。