-// CS0425: The constraints for type parameter `T' of method `Test.Baz.Method<T,V>()' must match the constraints for type parameter `T' of interface method `Test.IBar.Method<T,V>()'. Consider using an explicit interface implementation instead
-// Line: 18
-namespace Test
+// CS0425: The constraints for type parameter `V' of method `Foo<T>.Test<V>()' must match the constraints for type parameter `U' of interface method `IFoo<T>.Test<U>()'. Consider using an explicit interface implementation instead
+// Line: 12
+interface IFoo<T>
{
- using System;
-
- public interface IFoo
- {
- }
+ void Test<U> ()
+ where U : T;
+}
- public interface IBar
- {
- void Method<T, V>() where T : IFoo where V : T;
- }
+class Foo<T> : IFoo<T>
+{
+ public void Test<V> ()
+ { }
+}
- public class Baz : IBar
- {
- public void Method<T, V>() where T : IBar where V : T
- {
- }
- }
+class X
+{
+ static void Main ()
+ { }
}