<?xml version="1.0" encoding="us-ascii"?>
<ErrorDocumentation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <ErrorName>CS0453</ErrorName>
  <Examples>
    <string>// CS0453: The type `Foo' must be a non-nullable value type in order to use it as type parameter `T' in the generic type or method `System.Nullable&lt;T&gt;'
// Line: 10
public class Foo
{ }

class X
{
	static void Main ()
	{
		Foo? foo = new Foo ();
	}
}
</string>
    <string>// CS0453: The type `Bar?' must be a non-nullable value type in order to use it as type parameter `T' in the generic type or method `Foo&lt;T&gt;'
// Line: 14
public class Foo&lt;T&gt;
	where T : struct
{ }

public struct Bar
{ }

class X
{
	static void Main ()
	{
		Foo&lt;Bar?&gt; foo;
	}
}
</string>
    <string>// CS0453: The type `T' must be a non-nullable value type in order to use it as type parameter `T' in the generic type or method `System.Nullable&lt;T&gt;'
// Line: 14

using System;

public static class Nullable_Test {
	public static int Compare&lt;T&gt; (Nullable&lt;T&gt; left)
	{
		return 0;
	}
}</string>
    <string>// CS0453: The type `B.M' must be a non-nullable value type in order to use it as type parameter `T' in the generic type or method `Foo.Test_2&lt;T&gt;(this T)'
// Line: 20


using System;

public static class Foo
{
	public static string Test_2&lt;T&gt; (this T s) where T : struct
	{
		return null;
	}
}

namespace B
{
	public class M
	{
		public static void Main ()
		{
			new M().Test_2();
		}
	}
}</string>
    <string>// CS0453: The type `X' must be a non-nullable value type in order to use it as type parameter `T' in the generic type or method `MyValue&lt;T&gt;'
// Line: 10
public class MyValue&lt;T&gt;
	where T : struct
{ }

class X
{
	MyValue&lt;X&gt; x;

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