+++ /dev/null
-// CS0309: The type `B' must be convertible to `A' in order to use it as parameter `T' in the generic type or method `Foo<T>'
-// Line: 35
-using System;
-
-public class Foo<T>
- where T : A
-{
- public void Test (T t)
- {
- Console.WriteLine (t);
- Console.WriteLine (t.GetType ());
- t.Hello ();
- }
-}
-
-public class A
-{
- public void Hello ()
- {
- Console.WriteLine ("Hello World");
- }
-}
-
-public class B
-{
- public static implicit operator A (B b)
- {
- return new A ();
- }
-}
-
-class X
-{
- Foo<B> b;
-
- static void Main ()
- {
- }
-}