struct S1 { x : int; y : int; } struct S2 { x : int; y : int; } class C { public static Main () : void { _ = S1 () :> S2; // E: cannot convert S1 to S2 // bug #688 def a = array [1,2] : array[int]; _ = a :> array [string]; // E: cannot convert array\[int\] to array\[string\] def a = array[S1()]; _ = a :> array[S2]; // E: cannot convert array\[S1-\] to array\[S2\] } public static foo () : void { _ = "string" :> string; // W: there is no check needed to cast string to string } }