using System.Threading.Tasks; namespace ZeroLevel.Services.Async.Internal { internal static class CanceledValueTask<T> { public static readonly ValueTask<T> Value = CreateCanceledTask(); private static ValueTask<T> CreateCanceledTask() { TaskCompletionSource<T> tcs = new TaskCompletionSource<T>(); tcs.SetCanceled(); return new ValueTask<T>(tcs.Task); } } }