-class A\r
-{\r
- public static implicit operator byte (A mask)\r
- {\r
- return 22;\r
- }\r
-}\r
-\r
-public class Constraint\r
-{\r
- const A lm = null;\r
-\r
- enum E1 : int { A }\r
- enum E2 : byte { A }\r
-\r
- public static Constraint operator !(Constraint m)\r
- {\r
- return null;\r
- }\r
-\r
- public static Constraint operator +(Constraint m)\r
- {\r
- return null;\r
- }\r
-\r
- public static Constraint operator ~(Constraint m)\r
- {\r
- return null;\r
- }\r
-\r
- public static Constraint operator -(Constraint m)\r
- {\r
- return null;\r
- }\r
- \r
- static void Foo (object o)\r
- {\r
- }\r
- \r
- public static int Main ()\r
- {\r
- \r
- Foo (!(Constraint)null);\r
- Foo (~(Constraint)null);\r
- Foo (+(Constraint)null);\r
- Foo (-(Constraint)null);\r
- \r
- const byte b1 = +0;\r
- const byte b2 = +b1;\r
- const byte b3 = (byte)0;\r
- const int a = -2147483648;\r
- const long l = -9223372036854775808;\r
- const long l2 = -uint.MaxValue;\r
- const E1 e = (E1)~E2.A;\r
- \r
- unchecked {\r
- if (-int.MinValue != int.MinValue)\r
- return 1;\r
- }\r
-\r
- int b = -lm;\r
- if (b != -22)\r
- return 2;\r
- \r
- uint ua = 2;\r
- if (-ua != -2)\r
- return 3;\r
-\r
- System.Console.WriteLine ("OK");\r
- return 0;\r
- }\r
- \r
+class A
+{
+ public static implicit operator byte (A mask)
+ {
+ return 22;
+ }
+}
+
+public class Constraint
+{
+ const A lm = null;
+
+ enum E1 : int { A }
+ enum E2 : byte { A }
+
+ public static Constraint operator !(Constraint m)
+ {
+ return null;
+ }
+
+ public static Constraint operator +(Constraint m)
+ {
+ return null;
+ }
+
+ public static Constraint operator ~(Constraint m)
+ {
+ return null;
+ }
+
+ public static Constraint operator -(Constraint m)
+ {
+ return null;
+ }
+
+ static void Foo (object o)
+ {
+ }
+
+ public static int Main ()
+ {
+
+ Foo (!(Constraint)null);
+ Foo (~(Constraint)null);
+ Foo (+(Constraint)null);
+ Foo (-(Constraint)null);
+
+ const byte b1 = +0;
+ const byte b2 = +b1;
+ const byte b3 = (byte)0;
+ const int a = -2147483648;
+ const long l = -9223372036854775808;
+ const long l2 = -uint.MaxValue;
+ const E1 e = (E1)~E2.A;
+
+ unchecked {
+ if (-int.MinValue != int.MinValue)
+ return 1;
+ }
+
+ int b = -lm;
+ if (b != -22)
+ return 2;
+
+ uint ua = 2;
+ if (-ua != -2)
+ return 3;
+
+ System.Console.WriteLine ("OK");
+ return 0;
+ }
+
}
\ No newline at end of file