// // User casts basically would produce more than one match on // integral types, since the implicit conversion to int is // also an implicit conversion to long. This tests that // we do not bail too early on the switch statement with its // implicit conversion. class Y { byte b; public static implicit operator int (Y i) { return i.b; } public Y (byte b) { this.b = b; } } class X { public static void Main () { Y y = new Y (1); switch (y){ case 0: break; case 1: break; } int a = y; } }