<?xml version="1.0"?>
<ErrorDocumentation xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ErrorName>CS0315</ErrorName>
  <Examples>
    <string>// CS0315: The type `int' cannot be used as type parameter `U' in the generic type or method `A&lt;int?&gt;.Test&lt;U&gt;()'. There is no boxing conversion from `int' to `int?'
// Line: 19

class A&lt;T&gt;
{
	public static void Test&lt;U&gt; () where U : T
	{
	}
}

class B : A&lt;int?&gt;
{
}

class Program
{
	public static void Main ()
	{
		B.Test&lt;int&gt; ();
	}
}
</string>
    <string>// CS0315: The type `int' cannot be used as type parameter `T' in the generic type or method `H&lt;T&gt;'. There is no boxing conversion from `int' to `I'
// Line: 27

using System;

interface I
{
}

class H&lt;T&gt; where T : I, new()
{
}

public class A
{
	static void Test (Action a)
	{
	}

	static void Foo&lt;T&gt;()
	{
	}

	static void Main ()
	{
		Test (() =&gt; {
			Foo&lt;H&lt;int&gt;&gt; ();
		});
	}
}</string>
    <string>// CS0315: The type `int' cannot be used as type parameter `TEventArgs' in the generic type or method `X.D&lt;TEventArgs&gt;'. There is no boxing conversion from `int' to `System.EventArgs'
// Line: 8

class X
{
	delegate void D&lt;TEventArgs&gt; () where TEventArgs : System.EventArgs;

	D&lt;int&gt; x;
}


</string>
    <string>// CS0315: The type `short' cannot be used as type parameter `T' in the generic type or method `A&lt;T&gt;'. There is no boxing conversion from `short' to `A&lt;short&gt;.N1&lt;short&gt;'
// Line: 4

public class A&lt;T&gt; where T : A&lt;short&gt;.N1&lt;T&gt;
{
    public class N1&lt;U&gt;
    {
    }
}</string>
    <string>// CS0315: The type `ushort' cannot be used as type parameter `T' in the generic type or method `A&lt;T&gt;'. There is no boxing conversion from `ushort' to `A&lt;ushort&gt;.N1&lt;ushort&gt;'
// Line: 9
// Compiler options: -r:CS0315-2-lib.dll

public class Test
{
	public static void Main ()
	{
		A&lt;ushort&gt;.N1&lt;ushort&gt; a = null;
	}
}
</string>
  </Examples>
</ErrorDocumentation>