1 // Compiler options: -langversion:future
13 class A
<T
> : IIn
<T
>, IOut
<T
>
19 public static int Main ()
21 IIn
<string> a_string
= new A
<string> ();
22 IIn
<object> a_object
= new A
<object> ();
24 if (!(a_string
is IIn
<string>))
27 if ((a_string
is IIn
<object>))
30 if (!(a_object
is IIn
<string>))
33 if (!(a_object
is IIn
<object>))
36 IOut
<string> b_string
= new A
<string> ();
37 IOut
<object> b_object
= new A
<object> ();
39 if (!(b_string
is IOut
<string>))
42 if (!(b_string
is IOut
<object>))
45 if (b_object
is IOut
<string>)
48 if (!(b_object
is IOut
<object>))
51 Console
.WriteLine ("OK");