// CS0019: Operator `^' cannot be applied to operands of type `S2' and `float' // Line: 9 public class Test { public static void Main() { S2 s2 = new S2 (); int r = s2 ^ 5.04f; } } struct S2 { public static int operator ^ (double? p1, S2 s2) { return 1; } public static implicit operator int? (S2 s1) { return int.MinValue; } }