<?xml version="1.0"?>
<ErrorDocumentation xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ErrorName>CS1644</ErrorName>
  <Examples>
    <string>// CS1644: Feature `namespace alias qualifier' cannot be used because it is not part of the C# 1.0 language specification
// Line: 7
// Compiler options: -langversion:ISO-1

class Program
{
	static void Main ()
	{
		System.Type t = typeof (global::System.Int32);
	}
}
</string>
    <string>// CS1644: Feature `nullable types' cannot be used because it is not part of the C# 1.0 language specification
// Line: 9
// Compiler options: -langversion:ISO-1

public class Test
{
	static void Main ()
	{
		bool? testbool;
	}
}
</string>
    <string>// CS1644: Feature `optional parameter' cannot be used because it is not part of the C# 2.0 language specification
// Line: 7
// Compiler options: -langversion:ISO-2

public class C
{
	public C (int a = 0)
	{
	}
}
</string>
    <string>// CS1644: Feature `named argument' cannot be used because it is not part of the C# 3.0 language specification
// Line: 13
// Compiler options: -langversion:3

public class C
{
	static void Foo (int i)
	{
	}
	
	public static void Main ()
	{
		Foo (i : 3);
	}
}
</string>
    <string>// CS1644: Feature `implicitly typed local variable' cannot be used because it is not part of the C# 2.0 language specification
// Line:  9
// Compiler options: -langversion:ISO-2

class M
{
	public static void Main ()
	{
		var a = 1;
	}
}
</string>
    <string>// CS1644: Feature `generic type variance' cannot be used because it is not part of the C# 2.0 language specification
// Line: 5
// Compiler options: -langversion:iso-2

 public interface IFoo&lt;out T&gt; {
 }
</string>
    <string>// CS1644: Feature `generic type variance' cannot be used because it is not part of the C# 2.0 language specification
// Line: 5
// Compiler options: -langversion:iso-2

 public interface IFoo&lt;in T&gt; {
 }
</string>
    <string>// CS1644: Feature `generic type variance' cannot be used because it is not part of the C# 3.0 language specification
// Line: 5
// Compiler options: -langversion:3

public interface IFoo&lt;in T&gt;
{
}
</string>
    <string>// CS1644: Feature `query expressions' cannot be used because it is not part of the C# 2.0 language specification
// Line: 11
// Compiler options: -langversion:ISO-2

using System.Linq;

public class C
{
	public static void Main ()
	{
		var e = from a in "aaa" select a;
	}
}
</string>
    <string>// CS1644: Feature `auto-implemented properties' cannot be used because it is not part of the C# 2.0 language specification
// Line: 7
// Compiler options: -langversion:ISO-2

class P
{
	public string Name { get; set; }
}
</string>
    <string>// CS1644: Feature `access modifiers on properties' cannot be used because it is not part of the C# 1.0 language specification
// Line: 13
// Compiler options: -langversion:ISO-1

class Class {

	public int Count {

		get {
			return 0;
		}

		protected set {
		}
	}
}
</string>
    <string>// CS1644: Feature `nullable types' cannot be used because it is not part of the C# 1.0 language specification
// Line: 7
// Compiler options: -langversion:ISO-1

class Test
{
	int? i;
	static void Main () {}
}
</string>
    <string>// CS1644: Feature `default value expression' cannot be used because it is not part of the C# 1.0 language specification
// Line: 7
// Compiler options: -langversion:ISO-1

class Test
{
	int i = default (int);
}
</string>
    <string>// CS1644: Feature `generics' cannot be used because it is not part of the C# 1.0 language specification
// Line: 5
// Compiler options: -langversion:ISO-1

class Stack &lt; type &gt;
{
}

</string>
    <string>// CS1644: Feature `lambda expressions' cannot be used because it is not part of the C# 2.0 language specification
// Line: 11
// Compiler options: -langversion:ISO-2

class C
{
	delegate void D ();
	
	public void Foo ()
	{
		D e = () =&gt; { };
	}
}

</string>
    <string>// CS1644: Feature `nullable types' cannot be used because it is not part of the C# 1.0 language specification
// Line: 9
// Compiler options: -langversion:ISO-1

struct C
{
	void G ()
	{
		object o = (C?[]) this;
	}
}
</string>
    <string>// CS1644: Feature `object initializers' cannot be used because it is not part of the C# 2.0 language specification
// Line: 14
// Compiler options: -langversion:ISO-2

class Data
{
	public int Value;
}

class A
{
	void Foo ()
	{
		new Data () { Value = 3 };
	}
}
</string>
    <string>// CS1644: Feature `implicitly typed arrays' cannot be used because it is not part of the C# 1.0 language specification
// Line: 7
// Compiler options: -langversion:ISO-1

class A
{
	string[] array = new [] { "Foo", "Bar", "Baz" };
}
</string>
    <string>// CS1644: Feature `partial methods' cannot be used because it is not part of the C# 2.0 language specification
// Line: 7
// Compiler options: -langversion:ISO-2

partial class P
{
	partial void Foo ();
}
</string>
    <string>// CS1644: Feature `extension methods' cannot be used because it is not part of the C# 2.0 language specification
// Line: 17
// Compiler options: -langversion:ISO-2

static class Extensions
{
	static string Foo (string s, this bool b, int i)
	{
		return s;
	}
}
</string>
    <string>// CS1644: Feature `generics' cannot be used because it is not part of the C# 1.0 language specification
// Line: 5
// Compiler options: -langversion:ISO-1

class X&lt;V&gt;
{
}

class X
{
	static void Main ()
	{ }
}
</string>
    <string>// CS1644: Feature `fixed size buffers' cannot be used because it is not part of the C# 1.0 language specification
// Line: 6
// Compiler options: -langversion:ISO-1

struct S {
    fixed long buffer [5];
}
</string>
    <string>// CS1644: Feature `anonymous types' cannot be used because it is not part of the C# 1.0 language specification
// Line: 9
// Compiler options: -langversion:ISO-1

class A
{
	void Foo ()
	{
		var v = new { X = "Bar" };
	}
}
</string>
    <string>// CS1644: Feature `collection initializers' cannot be used because it is not part of the C# 2.0 language specification
// Line: 9
// Compiler options: -langversion:ISO-2

using System.Collections.Generic;

class A
{
	void Foo ()
	{
		object o = new List&lt;int&gt; { 1, 2, 3 };
	}
}
</string>
    <string>// CS1644: Feature `lambda expressions' cannot be used because it is not part of the C# 2.0 language specification
// Line: 11
// Compiler options: -langversion:ISO-2

using System;

class C
{
	public void Foo ()
	{
		Func&lt;int, int&gt; e = l =&gt; 1;
	}
}

</string>
    <string>// CS1644: Feature `asynchronous functions' cannot be used because it is not part of the C# 4.0 language specification
// Line: 9
// Compiler options: -langversion:4

using System;

class C
{
	public async void Foo ()
	{
	}
}

</string>
    <string>// CS1644: Feature `asynchronous functions' cannot be used because it is not part of the C# 4.0 language specification
// Line: 10
// Compiler options: -langversion:4

using System;

class C
{
	public void Foo ()
	{
		Action a = async () =&gt; { };
	}
}

</string>
    <string>// CS1644: Feature `exception filter' cannot be used because it is not part of the C# 5.0 language specification
// Line: 14
// Compiler options: -langversion:5

using System;

class X
{
	public static void Main ()
	{
		int x = 4;
		try {
			throw null;
		} catch (Exception) when (x &gt; 0) {
		}
	}
}
</string>
    <string>// CS1644: Feature `auto-implemented property initializer' cannot be used because it is not part of the C# 5.0 language specification
// Line: 7
// Compiler options: -langversion:5

class C
{
	public static int P { get; } = 4;
}</string>
    <string>// CS1644: Feature `primary constructor' cannot be used because it is not part of the C# 5.0 language specification
// Line: 7
// Compiler options: -langversion:5

class C (int arg)
{
}</string>
    <string>// CS1644: Feature `expression bodied members' cannot be used because it is not part of the C# 5.0 language specification
// Line: 7
// Compiler options: -langversion:5

class C
{
	int Prop =&gt; 3;
}</string>
    <string>// CS1644: Feature `expression bodied members' cannot be used because it is not part of the C# 5.0 language specification
// Line: 7
// Compiler options: -langversion:5

class C
{
	int M () =&gt; 0;
}</string>
    <string>// CS1644: Feature `switch expression of boolean type' cannot be used because it is not part of the C# 1.0 language specification
// Line: 8
// Compiler options: -langversion:ISO-1

class Class {
	public void Foo (bool b)
	{
		switch (b)
		{
			case true:
				break;
			case false:
				break;
		}
	}
}
</string>
    <string>// CS1644: Feature `expression bodied members' cannot be used because it is not part of the C# 5.0 language specification
// Line: 7
// Compiler options: -langversion:5

class C
{
	int this [long arg] =&gt; -9;
}</string>
    <string>// CS1644: Feature `null propagating operator' cannot be used because it is not part of the C# 5.0 language specification
// Line: 10
// Compiler options: -langversion:5

class C
{
	static void Main ()
	{
		object o = null;
		string s = o?.ToString ();
	}
}</string>
    <string>// CS1644: Feature `null propagating operator' cannot be used because it is not part of the C# 5.0 language specification
// Line: 10
// Compiler options: -langversion:5

class C
{
	static void Main ()
	{
		string[] a = null;
		var s = a?[0];
	}
}</string>
    <string>// CS1644: Feature `nameof operator' cannot be used because it is not part of the C# 5.0 language specification
// Line: 10
// Compiler options: -langversion:5

class C
{
	static void Main ()
	{
		var n = nameof (Main);
	}
}</string>
    <string>// CS1644: Feature `dictionary initializer' cannot be used because it is not part of the C# 5.0 language specification
// Line: 12
// Compiler options: -langversion:5

using System.Collections.Generic;

class C
{
	public static void Main ()
	{
		var d = new Dictionary&lt;string, int&gt; {
			["a"] = 1
		};
	}
}</string>
    <string>// CS1644: Feature `declaration expression' cannot be used because it is not part of the C# 5.0 language specification
// Line: 12
// Compiler options: -langversion:5

class C
{
	public static void Main ()
	{
		int.TryParse ("0", out var v);
	}
}</string>
    <string>// CS1644: Feature `nameof operator' cannot be used because it is not part of the C# 5.0 language specification
// Line: 9
// Compiler options: -langversion:5

class C
{
	public static void Main ()
	{
		var res = nameof (C.Main);
	}
}</string>
    <string>// CS1644: Feature `using static' cannot be used because it is not part of the C# 5.0 language specification
// Line: 5
// Compiler options: -langversion:5

using static System;
</string>
    <string>// CS1644: Feature `namespace alias qualifier' cannot be used because it is not part of the C# 1.0 language specification
// Line: 9
// Compiler options: -langversion:ISO-1

class Program
{
	static void Main ()
	{
		global::System.Console.WriteLine ("ok");
	}
}
</string>
    <string>// CS1644: Feature `partial types' cannot be used because it is not part of the C# 1.0 language specification
// Line: 5
// Compiler options: -langversion:ISO-1

partial class Test
{
}</string>
    <string>// CS1644: Feature `external alias' cannot be used because it is not part of the C# 1.0 language specification
// Line: 5
// Compiler options: -langversion:ISO-1 -r:a=System.dll

extern alias a;
</string>
    <string>// CS1644: Feature `null coalescing operator' cannot be used because it is not part of the C# 1.0 language specification
// Line: 10
// Compiler options: -langversion:ISO-1

class C
{
	string program;

	internal string Program {
		get { return program ?? string.Empty; }
	}
}</string>
    <string>// CS1644: Feature `namespace alias qualifier' cannot be used because it is not part of the C# 1.0 language specification
// Line: 7
// Compiler options: -langversion:ISO-1

class Program
{
	static global::System.Void Main ()
	{
	}
}
</string>
    <string>// CS1644: Feature `static classes' cannot be used because it is not part of the C# 1.0 language specification
// Line: 5
// Compiler options: -langversion:ISO-1

static class Class {
}
</string>
  </Examples>
</ErrorDocumentation>