2009-06-10 Marek Safar <marek.safar@gmail.com>
authorMarek Safar <marek.safar@gmail.com>
Wed, 10 Jun 2009 14:14:17 +0000 (14:14 -0000)
committerMarek Safar <marek.safar@gmail.com>
Wed, 10 Jun 2009 14:14:17 +0000 (14:14 -0000)
* IEqualityComparer.cs, IComparer.cs, IEnumerable.cs,
IEnumerator.cs: Add type variance.

svn path=/trunk/mcs/; revision=135846

mcs/class/corlib/System.Collections.Generic/ChangeLog
mcs/class/corlib/System.Collections.Generic/IComparer.cs
mcs/class/corlib/System.Collections.Generic/IEnumerable.cs
mcs/class/corlib/System.Collections.Generic/IEnumerator.cs
mcs/class/corlib/System.Collections.Generic/IEqualityComparer.cs

index fffbe79b3096c0a7ac7e4c3e6d5164c497d3168a..14b4d1a4d7ab3b399c93448e308057821043905a 100644 (file)
@@ -1,3 +1,8 @@
+2009-06-10  Marek Safar <marek.safar@gmail.com>
+
+       * IEqualityComparer.cs, IComparer.cs, IEnumerable.cs,
+       IEnumerator.cs: Add type variance.
+
 2009-04-02  Jb Evain  <jbevain@novell.com>
 
        * Dictionary.cs (ValueCollection.CopyTo): fix for copying to
index fafab15667f1d4ffbb25cf6e14e2086152965d30..16406c2e7a561f0dbff66f8daf9b0ff62f74cf72 100644 (file)
@@ -3,6 +3,7 @@
 //
 // Authors:
 //     Ben Maurer (bmaurer@users.sourceforge.net)
+//  Marek Safar (marek.safar@gmail.com)
 //
 // (C) 2003 Ben Maurer
 //
 using System;
 using System.Runtime.InteropServices;
 
-namespace System.Collections.Generic {
-       public interface IComparer<T> {
+namespace System.Collections.Generic
+{
+#if NET_4_0
+       public interface IComparer<in T>
+#else
+       public interface IComparer<T>
+#endif
+       {
                int Compare (T x, T y);
        }
 }
index 15a4e0d3df88777cf4d50639c7af7fd5a1594a1e..5c56ae13ce754d664d6a26c364bf4bb0d1d2cb5c 100644 (file)
@@ -4,6 +4,7 @@
 //
 // Author:
 //    Martin Baulig (martin@ximian.com)
+//    Marek Safar (marek.safar@gmail.com)
 //
 // (C) 2003 Novell, Inc.
 //
@@ -37,7 +38,11 @@ using System.Runtime.InteropServices;
 
 namespace System.Collections.Generic
 {
+#if NET_4_0
+       public interface IEnumerable<out T> : IEnumerable
+#else
        public interface IEnumerable<T> : IEnumerable
+#endif
        {
                new IEnumerator<T> GetEnumerator ();
        }
index c3ec414ff56b28289df4d9c10a9a0fd3a1fd8aec..847ee9d5de5424b5abe6548a0cc09cea09bee199 100644 (file)
@@ -4,6 +4,7 @@
 //
 // Author:
 //    Martin Baulig (martin@ximian.com)
+//    Marek Safar (marek.safar@gmail.com)
 //
 // (C) 2003 Novell, Inc.
 //
@@ -37,7 +38,11 @@ using System.Runtime.InteropServices;
 
 namespace System.Collections.Generic
 {
+#if NET_4_0
+       public interface IEnumerator<out T> : IDisposable, IEnumerator
+#else
        public interface IEnumerator<T> : IDisposable, IEnumerator
+#endif
        {
                new T Current {
                        get;
index 9b81181ca50fdebba6cfc27becf3ef3b5af5745a..531a426c29239e0718b8e79ce90c9521354ebca2 100644 (file)
@@ -3,6 +3,7 @@
 //
 // Authors:
 //     Ben Maurer (bmaurer@novell.com)
+//  Marek Safar (marek.safar@gmail.com)
 //
 // (C) 2005 Ben Maurer
 //
 using System;
 using System.Runtime.InteropServices;
 
-namespace System.Collections.Generic {
-       public interface IEqualityComparer<T> {
+namespace System.Collections.Generic
+{
+#if NET_4_0
+       public interface IEqualityComparer<in T>
+#else  
+       public interface IEqualityComparer<T>
+#endif 
+       {
                bool Equals (T x, T y);
                int GetHashCode (T obj);
        }