svn path=/trunk/mcs/; revision=30026
-// cs0659.cs: "'E' overrides Object.Equals(object o) but does not override Object.GetHashCode()
+// cs0659.cs: 'E' overrides Object.Equals(object) but does not override Object.GetHashCode()
// Line: 13
-// Compiler options: -warnaserror -warn:4
+// Compiler options: -warnaserror -warn:3
public class Base
{
--- /dev/null
+// cs0660.cs: 'T' defines operator == or operator != but does not override Object.Equals(object)
+// Line: 5
+// Compiler options: -warnaserror -warn:3
+
+class T
+{
+ public static bool operator == (object o, T t)
+ {
+ return false;
+ }
+
+ public static bool operator != (object o, T t)
+ {
+ return true;
+ }
+
+ public override int GetHashCode ()
+ {
+ return base.GetHashCode ();
+ }
+}
--- /dev/null
+// cs0661.cs: 'T' defines operator == or operator != but does not override Object.GetHashCode()
+// Line: 5
+// Compiler options: -warnaserror -warn:3
+
+class T
+{
+ public static bool operator == (object o, T t)
+ {
+ return false;
+ }
+
+ public static bool operator != (object o, T t)
+ {
+ return true;
+ }
+
+ public override bool Equals(object o)
+ {
+ return true;
+ }
+}