// CS0313: The type `S?' cannot be used as type parameter `T' in the generic type or method `C<I>.Foo<T>(T)'. The nullable type `S?' never satisfies interface constraint `I' // Line: 20 struct S : I { } interface I { } class C<U> { static void Foo<T> (T value) where T : U { } static void Bar (S? s) { C<I>.Foo (s); } }