using System.Threading.Tasks;
using System.Runtime.CompilerServices;
public static async Task Main()
[System.Runtime.CompilerServices.AsyncMethodBuilder(typeof(CustomTaskMethodBuilder))]
public static async CustomTask RunAsync()
await default(CustomTask);
public sealed class CustomTaskMethodBuilder
public CustomTaskMethodBuilder()
=> Console.WriteLine("constructor");
public static CustomTaskMethodBuilder Create()
=> new CustomTaskMethodBuilder();
public void SetResult() => Console.WriteLine("SetResult");
public void Start<TStateMachine>(ref TStateMachine stateMachine)
where TStateMachine : IAsyncStateMachine
Console.WriteLine("Start task");
public CustomTask Task => default(CustomTask);
public void AwaitOnCompleted<TAwaiter, TStateMachine>(
ref TAwaiter awaiter, ref TStateMachine stateMachine)
where TAwaiter : INotifyCompletion
where TStateMachine : IAsyncStateMachine
public void AwaitUnsafeOnCompleted<TAwaiter, TStateMachine>(
ref TAwaiter awaiter, ref TStateMachine stateMachine)
where TAwaiter : ICriticalNotifyCompletion
where TStateMachine : IAsyncStateMachine
public void SetException(Exception e) { }
public void SetStateMachine(IAsyncStateMachine stateMachine) { }
public CustomTaskAwaiter GetAwaiter() => default(CustomTaskAwaiter);
public struct CustomTaskAwaiter : INotifyCompletion
public void GetResult() { }
public bool IsCompleted => true;
public void OnCompleted(Action continuation) { }