// CS0312: The type `S?' cannot be used as type parameter `T' in the generic type or method `C<S>.Foo<T>(T)'. The nullable type `S?' does not satisfy constraint `S'
// Line: 16

struct S
{
}

class C<U>
{
	static void Foo<T> (T value) where T : U
	{
	}

	static void Test (S? s)
	{
		C<S>.Foo (s);
	}
}