<?xml version="1.0"?>
<ErrorDocumentation xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ErrorName>CS1503</ErrorName>
  <Examples>
    <string>// CS1503: Argument `#1' cannot convert `int[]' expression to type `int'
// Line: 12

class C
{
	static void Foo (params int[] i)
	{
	}
	
	public static void Main ()
	{
		Foo (new int[1], 1);
	}
}
</string>
    <string>// CS1503: Argument `#1' cannot convert `long' expression to type `ulong'
// Line: 17

class A
{
	public static long Prop {
		get {
			return 1;
		}
	}
}

class Test
{
	static void Main ()
	{
		Foo (A.Prop);
	}
	
	static void Foo (ulong l)
	{
	}
}
</string>
    <string>// CS1503: Argument `#1' cannot convert `bool' expression to type `int'
// Line: 12

public class C
{
	static void Foo&lt;T&gt;(T t)
	{
	}
	
	public static void Main ()
	{
		Foo&lt;int&gt; (true);
	}
}
</string>
    <string>// CS1503: Argument `#1' cannot convert `method group' expression to type `IInterface'
// Line: 15

public delegate void Del ();

public interface IInterface
{
	void Do ();
}

public static class Test
{
	public static void Do (IInterface val)
	{
		Do (val.Do);
	}
}
</string>
    <string>// CS1503: Argument `#5' cannot convert `void' expression to type `object'
// Line: 14

using System;

public class foo
{
	public static void voidfunc()
	{
	}

	public static void Main()
	{
		Console.WriteLine ("Whoops: {0} {1}", 0, 1, 2, voidfunc());
	}
}
</string>
    <string>// CS1503: Argument `#2' cannot convert `method group' expression to type `System.Collections.Generic.Comparer&lt;int&gt;'
// Line: 20

using System;
using System.Collections.Generic;

public class C
{
	static void Foo&lt;T&gt;(T t, Comparer&lt;T&gt; tc)
	{
	}
	
	static int Compare (int a, int b)
	{
		return -1;
	}
	
	public static void Main ()
	{
		Foo (1, Compare);
	}
}
</string>
    <string>// CS1503: Argument `#1' cannot convert `bool' expression to type `int[]'
// Line: 13

public class X
{
	public static void Test (params int[] a)
	{
	}

	public static void Main()
	{
		int i;
		Test (true);
	}
}
</string>
    <string>// CS1503: Argument `#1' cannot convert `null' expression to type `__arglist'
// Line: 8

class C
{
	void Foo ()
	{
		InstanceArgList (null);
	}
	
	int InstanceArgList (__arglist)
	{
		return 54;
	}
}
</string>
    <string>// CS1503: Argument `#1' cannot convert `out A' expression to type `out B'
// Line: 17

class A { }
class B : A { }

class Test
{
	static void Foo (out B b)
	{
		b = new B ();
	}

	static void Main ()
	{
		A a;
		Foo (out a);
	}
}
</string>
    <string>// CS1503: Argument `#1' cannot convert `__arglist' expression to type `object'
// Line: 14

using System;

class Program
{
	static void Foo (object o)
	{
	}

	static void Main ()
	{
		Foo (__arglist (null));
	}
}
</string>
    <string>// CS1503: Argument `#1' cannot convert `System.RuntimeArgumentHandle' expression to type `__arglist'
// Line: 10

using System;

class C
{
	void Foo (__arglist)
	{
		InstanceArgList (__arglist);
	}
	
	int InstanceArgList (__arglist)
	{
		return 54;
	}
}
</string>
    <string>// CS1503: Argument `#2' cannot convert `IFoo&lt;object&gt;' expression to type `IFoo&lt;int&gt;'
// Line: 18

interface IFoo&lt;in T&gt;
{
}

class C
{
	public static void Foo&lt;T&gt; (IFoo&lt;T&gt; e1, IFoo&lt;T&gt; e2)
	{
	}
	
	public static void Main ()
	{
		IFoo&lt;int&gt; a = null;
		IFoo&lt;object&gt; b = null;
		Foo (a, b);
	}
}
</string>
    <string>// CS1503: Argument `#1' cannot convert `int' expression to type `bool'
// Line: 15

class A
{
	public static void Foo (bool test)
	{
	}
}

class B
{
	public static void Main()
	{
		A.Foo (1);
	}
}
</string>
    <string>// CS1503: Argument `#2' cannot convert `IContravariant&lt;object&gt;' expression to type `ICovariant&lt;string&gt;'
// Line: 23

interface IContravariant&lt;in T&gt;
{
}

interface ICovariant&lt;out T&gt;
{
}

class C
{
	public static void Test&lt;T&gt; (ICovariant&lt;T&gt; e1, ICovariant&lt;T&gt; e2)
	{
	}

	public static void Main ()
	{
		ICovariant&lt;string&gt; a_2 = null;
		IContravariant&lt;object&gt; b_2 = null;

		Test (a_2, b_2);
	}
}</string>
    <string>// CS1503: Argument `#1' cannot convert `object' expression to type `int'
// Line: 16

using System;

class T
{
	public void M1 (int i, params object[] args) {}
}

class MainClass
{
	static void Main ()
	{
		T t = new T ();
		t.M1 (new object ());
	}
}
</string>
    <string>// CS1503: Argument `#1' cannot convert `bool' expression to type `int[]'
// Line: 13

public class X
{
	public static void Test (params int[] a)
	{
	}

	public static void Main()
	{
		int i;
		Test (true);
	}
}
</string>
    <string>// CS1503: Argument `#1' cannot convert `ref long' expression to type `ref int'
// Line: 18

using System;

class X
{
	long field;

	static void Main ()
	{
		var x = new X ();
		x.Run ();
	}

	void Run ()
	{
		Test (ref Prop);
	}

	static int Test (ref int y)
	{
		return y;
	}

	ref long Prop {
		get {
			return ref field;
		}
	}
}
</string>
  </Examples>
</ErrorDocumentation>