// It's actually C# specification and csc bug
// https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=310363

class C1
{
	static void Foo (string val)
	{
		const object obj = null;
		switch (val) {
			case (string) obj:
				return;
		}
	}
}

class C2
{
	const object o2 = c2;
	const string c2 = null;
	
	public static void Main ()
	{
		const object o = null;
		const string s = (string) o;
	}
}