# System.Threading.Tasks ``` diff namespace System.Threading.Tasks { public class TaskCanceledException : OperationCanceledException { + public TaskCanceledException(string message, Exception innerException, CancellationToken token); } + public readonly struct ValueTask : IEquatable { + public ValueTask(IValueTaskSource source, short token); + public ValueTask(Task task); + public bool IsCanceled { get; } + public bool IsCompleted { get; } + public bool IsCompletedSuccessfully { get; } + public bool IsFaulted { get; } + public Task AsTask(); + public ConfiguredValueTaskAwaitable ConfigureAwait(bool continueOnCapturedContext); + public override bool Equals(object obj); + public bool Equals(ValueTask other); + public ValueTaskAwaiter GetAwaiter(); + public override int GetHashCode(); + public static bool operator ==(ValueTask left, ValueTask right); + public static bool operator !=(ValueTask left, ValueTask right); + public ValueTask Preserve(); + } - public struct ValueTask : IEquatable> { + public readonly struct ValueTask : IEquatable> { + public ValueTask(IValueTaskSource source, short token); - public static AsyncValueTaskMethodBuilder CreateAsyncMethodBuilder(); + public ValueTask Preserve(); } } ```