<?xml version="1.0"?>
<ErrorDocumentation xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ErrorName>CS4014</ErrorName>
  <Examples>
    <string>// CS4014: The statement is not awaited and execution of current method continues before the call is completed. Consider using `await' operator
// Line: 18
// Compiler options: -warnaserror

using System;
using System.Threading.Tasks;

class C
{
	static Task Method ()
	{
		return Task.FromResult (1);
	}
	
	static async Task&lt;int&gt; TestAsync ()
	{
		Method ();
		return await Task.FromResult (2);
	}
}
</string>
    <string>// CS4014: The statement is not awaited and execution of current method continues before the call is completed. Consider using `await' operator
// Line: 18
// Compiler options: -warnaserror

using System;
using System.Threading.Tasks;

class C
{
	static async Task&lt;int&gt; TestAsync ()
	{
		Func&lt;Task&gt; f = null;
		f ();
		return await Task.FromResult (2);
	}
}
</string>
    <string>// CS4014: The statement is not awaited and execution of current method continues before the call is completed. Consider using `await' operator or calling `Wait' method
// Line: 17
// Compiler options: -warnaserror

using System;
using System.Threading.Tasks;

class C
{
    public static async Task&lt;T&gt; Test&lt;T&gt; ()
    {
        return await Task.FromResult (default (T));
    }

    static void Main ()
    {
        Test&lt;object&gt; ();
    }
}
</string>
    <string>// CS4014: The statement is not awaited and execution of current method continues before the call is completed. Consider using `await' operator
// Line: 47
// Compiler options: -warnaserror

using System;
using System.Runtime.CompilerServices;
using System.Threading.Tasks;

static class S
{
	public static A GetAwaiter (this X x)
	{
		return new A ();
	}
}

class X
{
	public X Foo ()
	{
		return this;
	}
}

class A : INotifyCompletion
{
	bool IsCompleted
	{
		get
		{
			return true;
		}
	}

	public void OnCompleted (Action a)
	{
	}

	int GetResult ()
	{
		return 3;
	}

	static async Task Test3 ()
	{
		X x = new X ();
		x.Foo ();
		await x.Foo ();
	}
}</string>
    <string>// CS4014: The statement is not awaited and execution of current method continues before the call is completed. Consider using `await' operator
// Line: 12
// Compiler options: -warnaserror

using System;
using System.Threading.Tasks;

class C
{
	static async Task&lt;int&gt; TestAsync ()
	{
		new Task (() =&gt; {});
		return await Task.FromResult (2);
	}
}
</string>
    <string>// CS4014: The statement is not awaited and execution of current method continues before the call is completed. Consider using `await' operator
// Line: 17
// Compiler options: -warnaserror

using System;
using System.Threading.Tasks;

class C
{
	static Task Method ()
	{
		return Task.FromResult (1);
	}
	
	static void TestAsync ()
	{
		Func&lt;Task&gt; a = async () =&gt; {
			await Method ();
			Method ();
		};
	}
}
</string>
  </Examples>
</ErrorDocumentation>