Merge pull request #5675 from mono/glib-debug-symbols
[mono.git] / mcs / tests / test-298.cs
index 9b45a7e8cba1e6e52fa023e607642b75e6edc836..10ea1812addaf637b730d506e1e0266ede357d29 100644 (file)
@@ -1,10 +1,50 @@
 using System;
 
-class X
+class A
 {
-       static int Main (string[] args)
+       public static int operator + (short x, A b)
        {
-               int[] t = args.Length > 0 ? null : null;
-               return t == null ? 0 : 1;
+               return -1;
+       }
+       
+       public static int operator - (A a)
+       {
+               return -1;
+       }
+}
+
+class B : A
+{
+       public static int operator + (int x, B d)
+       {
+               return 1;
+       }
+       
+       public static int operator - (B b)
+       {
+               return 1;
        }
 }
+
+class C : B
+{
+}
+
+public class Test
+{
+       public static int Main ()
+       {
+               var b = new B ();
+               short s = 3;
+               var res = s + b;
+
+               if (res != 1)
+                       return 1;
+               
+               var c = new C ();
+               if (-c != 1)
+                       return 2;
+
+               return 0;
+       }
+}
\ No newline at end of file