-using System;\r
-using System.Collections.Generic;\r
-\r
-namespace Test\r
-{\r
- internal struct TestClass4<T> : IEquatable<TestClass4<T>>, IEquatable<T>, IEqualityComparer<TestClass4<T>> where T : class\r
- {\r
- public bool Equals (T obj)\r
- {\r
- return true;\r
- }\r
-\r
- public bool Equals (TestClass4<T> entry)\r
- {\r
- return true;\r
- }\r
-\r
- public bool Equals (TestClass4<T> x, TestClass4<T> y)\r
- {\r
- return x.Equals (y);\r
- }\r
-\r
- public int GetHashCode (TestClass4<T> obj)\r
- {\r
- return obj.GetHashCode ();\r
- }\r
-\r
- public override int GetHashCode ()\r
- {\r
- return 1;\r
- }\r
-\r
- public override bool Equals (object obj)\r
- {\r
- return false;\r
- }\r
-\r
- public static bool operator == (TestClass4<T> entry1, TestClass4<T> entry2)\r
- {\r
- return entry1.Equals (entry2);\r
- }\r
-\r
- public static bool operator == (T entry1, TestClass4<T> entry2)\r
- {\r
- return entry2.Equals (entry1);\r
- }\r
-\r
- public static bool operator == (TestClass4<T> entry1, T entry2)\r
- {\r
- return entry1.Equals (entry2);\r
- }\r
-\r
- public static bool operator == (object entry1, TestClass4<T> entry2)\r
- {\r
- return entry2.Equals (entry1);\r
- }\r
-\r
- public static bool operator == (TestClass4<T> entry1, object entry2)\r
- {\r
- return entry1.Equals (entry2);\r
- }\r
-\r
- public static bool operator != (TestClass4<T> entry1, TestClass4<T> entry2)\r
- {\r
- return !(entry1 == entry2);\r
- }\r
-\r
- public static bool operator != (T entry1, TestClass4<T> entry2)\r
- {\r
- return !(entry1 == entry2);\r
- }\r
-\r
- public static bool operator != (TestClass4<T> entry1, T entry2)\r
- {\r
- return !(entry1 == entry2);\r
- }\r
-\r
- public static bool operator != (object entry1, TestClass4<T> entry2)\r
- {\r
- return !(entry1 == entry2);\r
- }\r
-\r
- public static bool operator != (TestClass4<T> entry1, object entry2)\r
- {\r
- return !(entry1 == entry2);\r
- }\r
- }\r
-\r
- class C\r
- {\r
- public static void Main ()\r
- {\r
- new TestClass4<string> ();\r
- }\r
- }\r
+using System;
+using System.Collections.Generic;
+
+namespace Test
+{
+ internal struct TestClass4<T> : IEquatable<TestClass4<T>>, IEquatable<T>, IEqualityComparer<TestClass4<T>> where T : class
+ {
+ public bool Equals (T obj)
+ {
+ return true;
+ }
+
+ public bool Equals (TestClass4<T> entry)
+ {
+ return true;
+ }
+
+ public bool Equals (TestClass4<T> x, TestClass4<T> y)
+ {
+ return x.Equals (y);
+ }
+
+ public int GetHashCode (TestClass4<T> obj)
+ {
+ return obj.GetHashCode ();
+ }
+
+ public override int GetHashCode ()
+ {
+ return 1;
+ }
+
+ public override bool Equals (object obj)
+ {
+ return false;
+ }
+
+ public static bool operator == (TestClass4<T> entry1, TestClass4<T> entry2)
+ {
+ return entry1.Equals (entry2);
+ }
+
+ public static bool operator == (T entry1, TestClass4<T> entry2)
+ {
+ return entry2.Equals (entry1);
+ }
+
+ public static bool operator == (TestClass4<T> entry1, T entry2)
+ {
+ return entry1.Equals (entry2);
+ }
+
+ public static bool operator == (object entry1, TestClass4<T> entry2)
+ {
+ return entry2.Equals (entry1);
+ }
+
+ public static bool operator == (TestClass4<T> entry1, object entry2)
+ {
+ return entry1.Equals (entry2);
+ }
+
+ public static bool operator != (TestClass4<T> entry1, TestClass4<T> entry2)
+ {
+ return !(entry1 == entry2);
+ }
+
+ public static bool operator != (T entry1, TestClass4<T> entry2)
+ {
+ return !(entry1 == entry2);
+ }
+
+ public static bool operator != (TestClass4<T> entry1, T entry2)
+ {
+ return !(entry1 == entry2);
+ }
+
+ public static bool operator != (object entry1, TestClass4<T> entry2)
+ {
+ return !(entry1 == entry2);
+ }
+
+ public static bool operator != (TestClass4<T> entry1, object entry2)
+ {
+ return !(entry1 == entry2);
+ }
+ }
+
+ class C
+ {
+ public static void Main ()
+ {
+ new TestClass4<string> ();
+ }
+ }
}