<?xml version="1.0"?>
<ErrorDocumentation xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ErrorName>CS0030</ErrorName>
  <Examples>
    <string>// CS0030: Cannot convert type `X' to `S'
// Line: 10

struct S {
}

class X {
	static void Main ()
	{
		S s = (S)default(X);
	}
}
</string>
    <string>// CS0030: Cannot convert type `System.DateTime' to `string'
// Line: 10

using System;

public class Blah
{
	public static void Main ()
	{
		string s = (string)DateTime.Now;
	}
}
</string>
    <string>// CS0030: Cannot convert type `bool' to `int'
// Line: 9

class X
{
	static void Main ()
	{
		const bool b = true;
		int a = (int)(b ? true : false);
	}
}
</string>
    <string>// CS0030: Cannot convert type `string' to `IA'
// Line: 13

interface IA
{
}

class MainClass
{
	public static void Main ()
	{
		string s = "s";
		IA i = (IA) s;
	}
}
</string>
    <string>// CS0030: Cannot convert type `string' to `char'
// Line: 8

public class Blah {

	public static int Main ()
	{
		char ch = (char)"a";
	}
}
</string>
    <string>// CS0030: Cannot convert type `S' to `E'
// Line: 10

enum E
{
	V
}

struct S
{
	public static explicit operator int (S val)
	{
		return 1;
	}
}

class C
{
	E Foo ()
	{
		S s = new S ();
		return (E) s;
	}

	public static void Main ()
	{
	}
}
</string>
    <string>// CS0030: Cannot convert type `System.Enum' to `int'
// Line: 11

using System;

class MainClass
{
	public static void Main ()
	{
		Enum e = null;
		int i = (int) e;
	}
}
</string>
    <string>// CS0030: Cannot convert type `bool' to `float'
// Line: 12

public class Blah {

	public static int Main ()
	{
		const bool k = false;		
		float f = (float) k;
		
	}
}
</string>
    <string>// CS0030: Cannot convert type `System.Enum' to `Blah.S'
// Line: 12

using System;

public class Blah {
	struct S {}
	enum E { Val }
	
	public static void Main ()
	{
		S s = (S)(Enum)E.Val;
	}
}</string>
    <string>// CS0030: Cannot convert type `T[,]' to `System.Collections.Generic.IEnumerable&lt;T&gt;'
// Line: 10

using System.Collections.Generic;

class C
{
	IEnumerable&lt;T&gt; Foo&lt;T&gt; (T [,] a)
	{
		return (IEnumerable&lt;T&gt;) a;
	}
}
</string>
    <string>// CS0030: Cannot convert type `TestCase.MyEnum' to `TestCase.OSType'
// Line: 9

public class TestCase
{
	static void Main ()
	{
		MyEnum me = MyEnum.Value1;
		OSType os = (OSType)me;
	}

	struct OSType {
		int value;
		
		public int Value {
			get { return Value; }
		}

		public OSType (int value)
		{
			this.value = value;
		}

		public static implicit operator OSType (int i)
		{
			return new OSType (i);
		}
	}

	enum MyEnum {
		Value1
	}
}
</string>
    <string>// CS0030: Cannot convert type `object' to `S'
// Line: 13
// Compiler options: -langversion:latest

ref struct S
{
}

class X
{
	public static void Foo (object o)
	{
		var res = (S) o;
	}
}</string>
    <string>// CS0030: Cannot convert type `T2[]' to `T1[]'
// Line: 8

class X
{
	static void Foo&lt;T1,T2&gt; (T2[] array) where T1 : class where T2 : struct
	{
		T1[] a = (T1[])array;
	}
}
</string>
    <string>// CS0030: Cannot convert type `Blah' to `float'
// Line: 12

public class Blah {

	public static int Main ()
	{
		Blah k;
		
		k = new Blah ();
		
		float f = (float) k;
		
	}
}
</string>
    <string>// CS0030: Cannot convert type `long' to `System.DayOfWeek?'
// Line: 10

using System;

class C
{
    static void Main ()
    {
		var dow = (DayOfWeek?) long.MaxValue;
    }
}</string>
    <string>// CS0030: Cannot convert type `Position' to `Board.Stone'
// Line: 20

using System;
using System.Collections;

public class Position {
}

public class Board {
    public enum Stone : int {
	None = 0,
	    Empty = 1,
	    Black = 2,
	    White = 3
    }

    public Stone Get(Position p)
    {
	return (Stone)p;
    }

    public static void Main() {
    }
    
}






</string>
    <string>// CS0030: Cannot convert type `T' to `X'
// Line: 8
class Foo&lt;T&gt;
	where T : System.ICloneable
{
	public X Test (T t)
	{
		return (X) t;
	}
}

class X
{
	static void Main ()
	{ }
}
</string>
  </Examples>
</ErrorDocumentation>