summaryrefslogtreecommitdiff
path: root/mcs/tests/test-871.cs
diff options
context:
space:
mode:
Diffstat (limited to 'mcs/tests/test-871.cs')
-rw-r--r--mcs/tests/test-871.cs42
1 files changed, 42 insertions, 0 deletions
diff --git a/mcs/tests/test-871.cs b/mcs/tests/test-871.cs
new file mode 100644
index 0000000000..19ebf8a05f
--- /dev/null
+++ b/mcs/tests/test-871.cs
@@ -0,0 +1,42 @@
+using System;
+
+class D
+{
+ int arg;
+
+ public D (int arg)
+ {
+ this.arg = arg;
+ }
+
+ public static D operator & (D x, D y)
+ {
+ return new D (100);
+ }
+
+ public static bool operator false (D d)
+ {
+ return false;
+ }
+
+ public static bool operator true (D d)
+ {
+ return true;
+ }
+
+ public static implicit operator D(bool b)
+ {
+ return new D (5);
+ }
+
+ static int Main ()
+ {
+ D d = false && new D (1);
+ Console.WriteLine (d.arg);
+ if (d.arg != 100)
+ return 1;
+
+ Console.WriteLine ("ok");
+ return 0;
+ }
+} \ No newline at end of file