Flush (work in progress)
authorMarek Safar <marek.safar@gmail.com>
Tue, 27 Apr 2010 08:40:02 +0000 (08:40 -0000)
committerMarek Safar <marek.safar@gmail.com>
Tue, 27 Apr 2010 08:40:02 +0000 (08:40 -0000)
svn path=/trunk/mcs/; revision=156168

72 files changed:
1  2 
mcs/errors/Makefile
mcs/errors/cs0111-3.cs
mcs/errors/cs0117-2.cs
mcs/errors/cs0117-3.cs
mcs/errors/cs0121-10.cs
mcs/errors/cs0121-3.cs
mcs/errors/cs0121-5.cs
mcs/errors/cs0121-9.cs
mcs/errors/cs0122-27.cs
mcs/errors/cs0146-3.cs
mcs/errors/cs0146-4.cs
mcs/errors/cs0278.cs
mcs/errors/cs0419-2.cs
mcs/errors/cs0436.cs
mcs/errors/cs0467-2.cs
mcs/errors/cs0467-3.cs
mcs/errors/cs0467.cs
mcs/errors/cs0507-6.cs
mcs/errors/cs0527-2.cs
mcs/errors/cs0529.cs
mcs/errors/cs0533-5.cs
mcs/errors/cs0619-41.cs
mcs/errors/cs0683.cs
mcs/errors/cs0738-2.cs
mcs/errors/cs0809-2.cs
mcs/errors/cs1061-2.cs
mcs/errors/cs1061.cs
mcs/errors/cs1546.cs
mcs/errors/cs1685.cs
mcs/errors/cs1739-2.cs
mcs/errors/cs3005-2.cs
mcs/errors/cs3005-20.cs
mcs/errors/gcs0108.cs
mcs/errors/gcs0122-2.cs
mcs/errors/gcs0146.cs
mcs/errors/gcs0246-2.cs
mcs/errors/gcs0246-5.cs
mcs/errors/gcs0246-6.cs
mcs/errors/gcs0246.cs
mcs/errors/gcs0304.cs
mcs/errors/gcs0305-6.cs
mcs/errors/gcs0309-2.cs
mcs/errors/gcs0309-3.cs
mcs/errors/gcs0309-4.cs
mcs/errors/gcs0309-5.cs
mcs/errors/gcs0309-6.cs
mcs/errors/gcs0309-7.cs
mcs/errors/gcs0309.cs
mcs/errors/gcs0311-2.cs
mcs/errors/gcs0311-3.cs
mcs/errors/gcs0311-4.cs
mcs/errors/gcs0311.cs
mcs/errors/gcs0313.cs
mcs/errors/gcs0314-2.cs
mcs/errors/gcs0314.cs
mcs/errors/gcs0315.cs
mcs/errors/gcs0411-7.cs
mcs/errors/gcs0425-5.cs
mcs/errors/gcs0455-3.cs
mcs/errors/gcs0455.cs
mcs/errors/gcs0689.cs
mcs/errors/gcs0695-2.cs
mcs/errors/gcs0695-3.cs
mcs/errors/gcs0695-4.cs
mcs/errors/gcs0695.cs
mcs/errors/gcs0703-3.cs
mcs/errors/gcs1502-2.cs
mcs/errors/gcs1503-2.cs
mcs/errors/gcs1640.cs
mcs/errors/gcs1961-39.cs
mcs/errors/gcs3005.cs
mcs/errors/gcs3009.cs

index 105862568c6489b267e1939b138fec733eb5a8a2,605731dd5065f4cb0a5207472cedf0a81834f89c..33b20aaf52b5650f3cc5583e44189946a8326314
@@@ -35,10 -35,10 +35,10 @@@ TEST_SUPPORT_FILES = 
  # mention all targets
  all-local $(STD_TARGETS:=-local):
  
 -VALID_PROFILE := $(filter net_2_0 net_2_1 net_4_0, $(PROFILE))
 +VALID_PROFILE := $(filter net_2_0 moonlight net_4_0, $(PROFILE))
  ifdef VALID_PROFILE
  
--check: run-mcs-tests 
++qcheck: run-mcs-tests 
  
  # again, run-test is when the tests actually happen, so
  # don't compile on make test.
@@@ -72,9 -72,9 +72,6 @@@ TESTER_OPTIONS +=-compiler-options:-
  run-mcs-tests: $(TEST_SUPPORT_FILES)
        $(TESTER) -mode:neg -files:$(TEST_PATTERN) -compiler:$(COMPILER) -issues:known-issues-$(COMPILER_NAME) -log:$(COMPILER_NAME).log $(TESTER_OPTIONS)
  
--cecil:
--      $(TESTER) -mode:neg -files:$(TEST_PATTERN) -compiler:../tests/gmcs.exe -issues:known-issues-$(COMPILER_NAME) -log:$(COMPILER_NAME).log $(TESTER_OPTIONS) -verbose
--
  endif
  
  clean-local:
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..98e80033a5ad82cc10fe2c805b9dca6600808b4d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,17 @@@
++// CS0111:
++// Line: 8
++
++using System;
++
++class Test {}
++
++namespace Test
++{
++    public class Foo
++    {
++              public static void Main ()
++              {
++                      Test t = new Test ();
++              }
++    }
++}
diff --cc mcs/errors/cs0117-2.cs
index 79df8d4ac1f9e34d0dace9273d16f4eb4e81a052,79df8d4ac1f9e34d0dace9273d16f4eb4e81a052..0000000000000000000000000000000000000000
deleted file mode 100644,100644
+++ /dev/null
@@@ -1,22 -1,22 +1,0 @@@
--// cs0117-2.cs: `A' does not contain a definition for `Foo'
--// Line: 15
--using System;
--using System.Runtime.CompilerServices;
--
--class A
--{
--      [IndexerName ("Foo")]
--      public int this [int index] {
--              get { return index; }
--      }
--
--      static int Test (A a)
--      {
--              return a.Foo;
--      }
--
--      public static void Main ()
--      {
--              Test (new A ());
--      }
--}
diff --cc mcs/errors/cs0117-3.cs
index f486cf0d795939ba0854714456d91d49a7c1649b,f486cf0d795939ba0854714456d91d49a7c1649b..0000000000000000000000000000000000000000
deleted file mode 100644,100644
+++ /dev/null
@@@ -1,23 -1,23 +1,0 @@@
--// cs0117-3.cs: `A' does not contain a definition for `Foo'
--// Line: 16
--using System;
--using System.Runtime.CompilerServices;
--
--class A
--{
--      [IndexerName ("Foo")]
--      public int this [int index] {
--              get { return index; }
--              set { ; }
--      }
--
--      static void Test (A a, int value)
--      {
--              a.Foo = value;
--      }
--
--      public static void Main ()
--      {
--              Test (new A (), 9);
--      }
--}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..37fd0245ae530705ed1dcaae82c221d7f50bd02b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,35 @@@
++// CS0121: The call is ambiguous between the following methods or properties: `IList.Count()' and `ICounter.Count()'
++// Line: 33\r
++
++using System;
++
++interface IList \r
++{
++      int Count ();
++}
++
++interface ICounter \r
++{
++      int Count ();
++}\r
++\r
++interface ICollection\r
++{\r
++      int Count { set; }\r
++}
++
++interface IListCounter: IList, ICounter, ICollection\r
++{\r
++}\r
++\r
++interface IListCounterNew : IListCounter\r
++{\r
++}
++
++class Test\r
++{
++      static void Foo (IListCounterNew t)
++      {
++              t.Count ();
++      }
++}
index 0ecedd64a516d99bb7fea8249beaa272cf2a38f7,0ecedd64a516d99bb7fea8249beaa272cf2a38f7..ae264ead0d4933b244cb7447e17f179c214964ae
@@@ -1,4 -1,4 +1,4 @@@
--// CS0121: The call is ambiguous between the following methods or properties: `B.operator +(A, B)' and `A.operator +(A, B)'
++// CS0121: The call is ambiguous between the following methods or properties: `A.operator +(A, B)' and `B.operator +(A, B)'
  // Line: 21
  
  class A
index 77187f766645b0b8dad7c65182feb435bb1c83a3,77187f766645b0b8dad7c65182feb435bb1c83a3..901639beea4a970b57d2422a3c13995b78edb972
@@@ -1,4 -1,4 +1,4 @@@
--// CS0121: The call is ambiguous between the following methods or properties: `V3.operator -(V3, V3)' and `V2.operator -(V2, V2)'
++// CS0121: The call is ambiguous between the following methods or properties: `V2.operator -(V2, V2)' and `V3.operator -(V3, V3)'
  // Line: 45
  
  public struct V3
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..68303d38396a19ee8bd3ed661cfd683d4b0a8774
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,31 @@@
++// CS0121: The call is ambiguous between the following methods or properties: `IList.Count()' and `ICounter.Count()'
++// Line: 29\r
++
++using System;
++
++interface IList \r
++{
++      int Count ();
++}
++
++interface ICounter \r
++{
++      int Count ();
++}\r
++\r
++interface ICollection\r
++{\r
++      int Count { set; }\r
++}
++
++interface IListCounter: IList, ICounter, ICollection\r
++{\r
++}
++
++class Test\r
++{
++      static void Foo (IListCounter t)
++      {
++              t.Count ();
++      }
++}
index 778b352c8d33e2dca5064cd63809430a9c4be216,778b352c8d33e2dca5064cd63809430a9c4be216..873ea55e9cb4ecdb4d8933bc9902c688b0e5c2d1
@@@ -1,4 -1,4 +1,4 @@@
--// CS0122: `G.GG.F' is inaccessible due to its protection level
++// CS0122: `G.GG' is inaccessible due to its protection level
  // Line: 14
  
  class G
index eb5316f101e9c6e85f26ce9f1325d49fdf68dd59,eb5316f101e9c6e85f26ce9f1325d49fdf68dd59..f400b56faefa7d856aa6265ab0d425c46d6cd5f1
@@@ -1,4 -1,4 +1,4 @@@
--// cs0146-3.cs: Circular base class dependency involving `Foo.Bar' and `Foo'
++// CS0146: Circular base class dependency involving `Foo' and `Foo.Bar'
  // Line: 5
  
  class Foo : Foo.Bar {
index a9ef8378383731d67df4b6bb0543f1327fbeb712,a9ef8378383731d67df4b6bb0543f1327fbeb712..2e52d9c4ddf199e8a626905773903b998131c21f
@@@ -1,4 -1,4 +1,4 @@@
--// cs0146-4.cs: Circular base class dependency involving `Foo.Bar' and `Foo'
++// CS0146: Circular base class dependency involving `Baz' and `Foo.Bar'
  // Line: 5
  
  class Foo : Baz {
index fb6bc5b6bc9f5a77c639f8dacc0e08d0ef828c73,fb6bc5b6bc9f5a77c639f8dacc0e08d0ef828c73..cf21792116b53488c0e22e58828831aa6dd74224
@@@ -1,4 -1,4 +1,4 @@@
--// CS0278: `Testing.IMixedEnumerable' contains ambiguous implementation of `enumerable' pattern. Method `Testing.ICustomEnumerable.GetEnumerator()' is ambiguous with method `System.Collections.IEnumerable.GetEnumerator()'\r
++// CS0278: `Testing.IMixedEnumerable' contains ambiguous implementation of `enumerable' pattern. Method `System.Collections.IEnumerable.GetEnumerator()' is ambiguous with method `Testing.ICustomEnumerable.GetEnumerator()'\r
  // Line: 28\r
  // Compiler options: -warnaserror -warn:2\r
  \r
@@@ -28,4 -28,4 +28,4 @@@ namespace Testing 
                          foreach(object o in c) {}\r
                  }\r
          }\r
--}
++}\r
index 3651a6db67607e2c7d68d4707b66d8debfacecda,3651a6db67607e2c7d68d4707b66d8debfacecda..982895b3912f74c10b2a26b4b73248eaa9ccf3c2
@@@ -1,4 -1,4 +1,4 @@@
--// cs0419-2.cs: Ambiguous reference in cref attribute `A.this'. Assuming `Test.A.this[string]' but other overloads including `Test.A.this[int]' have also matched
++// CS0419: Ambiguous reference in cref attribute `A.this'. Assuming `Test.A.this[int]' but other overloads including `Test.A.this[string]' have also matched
  // Line: 7
  // Compiler options: -doc:dummy.xml -warnaserror
  using System.Collections;
index 34874f65934179a7a21724de4a182153e089a0b6,34874f65934179a7a21724de4a182153e089a0b6..f3272f6c8fcb56073b681ed37a35474ecab6ebfa
@@@ -1,4 -1,4 +1,4 @@@
--// CS0436: The type `System.Console' conflicts with the imported type `System.Console'. Ignoring the imported type definition
++// CS0436: The type `System.Console' conflicts with the imported type of same name'. Ignoring the imported type definition
  // Line: 16
  // Compiler options: -warn:2 -warnaserror
  
diff --cc mcs/errors/cs0467-2.cs
index 4336a368da4cf9499b56b6fea47d5a5ead94f37c,4336a368da4cf9499b56b6fea47d5a5ead94f37c..0000000000000000000000000000000000000000
deleted file mode 100644,100644
+++ /dev/null
@@@ -1,32 -1,32 +1,0 @@@
--// cs0467-2.cs: Ambiguity between method `ICounter.Count()' and non-method `ICollection.Count'. Using method `ICounter.Count()'
--// Line: 30\r
--// Compiler options: -warnaserror -warn:2\r
--
--using System;
--
--interface IList \r
--{
--      int Count ();
--}
--
--interface ICounter \r
--{
--      int Count ();
--}\r
--\r
--interface ICollection\r
--{\r
--      int Count { set; }\r
--}
--
--interface IListCounter: IList, ICounter, ICollection\r
--{\r
--}
--
--class Test\r
--{
--      static void Foo (IListCounter t)
--      {
--              t.Count ();
--      }
--}
diff --cc mcs/errors/cs0467-3.cs
index 2a2875b28fe27aae084c17c131bcc6df3514c13e,2a2875b28fe27aae084c17c131bcc6df3514c13e..0000000000000000000000000000000000000000
deleted file mode 100644,100644
+++ /dev/null
@@@ -1,36 -1,36 +1,0 @@@
--// cs0467-3.cs: Ambiguity between method `ICounter.Count()' and non-method `ICollection.Count'. Using method `ICounter.Count()'
--// Line: 34\r
--// Compiler options: -warnaserror -warn:2\r
--
--using System;
--
--interface IList \r
--{
--      int Count ();
--}
--
--interface ICounter \r
--{
--      int Count ();
--}\r
--\r
--interface ICollection\r
--{\r
--      int Count { set; }\r
--}
--
--interface IListCounter: IList, ICounter, ICollection\r
--{\r
--}\r
--\r
--interface IListCounterNew : IListCounter\r
--{\r
--}
--
--class Test\r
--{
--      static void Foo (IListCounterNew t)
--      {
--              t.Count ();
--      }
--}
diff --cc mcs/errors/cs0467.cs
index 86acc2e34ad39d86aec1c5c26451c344777df9ca,86acc2e34ad39d86aec1c5c26451c344777df9ca..0000000000000000000000000000000000000000
deleted file mode 100644,100644
+++ /dev/null
@@@ -1,32 -1,32 +1,0 @@@
--// cs0467.cs: Ambiguity between method `ICounter.Count(int)' and non-method `IList.Count'. Using method `ICounter.Count(int)'
--// Line: 30\r
--// Compiler options: -warnaserror -warn:2\r
--
--using System;
--
--interface IList \r
--{
--      int Count { get; set; }
--}
--
--interface ICounter\r
--{\r
--      void Count (int i);
--}
--\r
--interface IEx\r
--{\r
--      void Count (params int[] i);\r
--}\r
--
--interface IListCounter: IEx, IList, ICounter\r
--{\r
--}
--
--class Test\r
--{
--      static void Foo (IListCounter t)
--      {
--              t.Count (1); 
--      }
--}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..49739417c74f0db31a85012de4b70732c2a9aefb
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,17 @@@
++// CS0507: `DerivedClass.Message': cannot change access modifiers when overriding `public' inherited member `BaseClass.Message'
++// Line: 12
++
++class BaseClass {
++      public virtual string Message {
++              set {
++              }
++      }
++}
++
++class DerivedClass : BaseClass {
++      protected override string Message {
++              set {
++              }
++      }
++}
++
index 89a41cf9efc5544b6e023f6a1f528611d66bd9a7,89a41cf9efc5544b6e023f6a1f528611d66bd9a7..b89e498c6af186f8aad117973e5b11fd66ab14f4
@@@ -1,8 -1,8 +1,8 @@@
--// cs0527-2.cs: Type `A' in interface list is not an interface
--// Line: 7
++// CS0527: Type `B' in interface list is not an interface
++// Line: 4
  
  struct A : B {
  }
  
  struct B : A {
--}
++}
index 03bc988d5b33d0d6a5913a0f3bb20748b1b2eaa8,03bc988d5b33d0d6a5913a0f3bb20748b1b2eaa8..25a7de82f7afa86cc7c27efadbe9ecb92bbb0aa2
@@@ -1,4 -1,4 +1,4 @@@
--// cs0529.cs: Inherited interface `A' causes a cycle in the interface hierarchy of `C'
++// CS0529: Inherited interface `C' causes a cycle in the interface hierarchy of `A'
  // Line: 10
  
  interface A : B {
@@@ -8,4 -8,4 +8,4 @@@ interface B : C 
  }
  
  interface C : A {
--}
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4c395dbd4343ac1ea860c03104c48ddade748f3d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,13 @@@
++// CS0533: `DerivedClass.Foo' hides inherited abstract member `BaseClass.Foo()'
++// Line: 11
++
++abstract public class BaseClass
++{
++      abstract protected void Foo ();
++}
++
++abstract class DerivedClass: BaseClass
++{
++      public new int Foo;
++}
++
diff --cc mcs/errors/cs0619-41.cs
index 2527e65295d284077fcfb670a0a12648faece7ec,2527e65295d284077fcfb670a0a12648faece7ec..0000000000000000000000000000000000000000
deleted file mode 100644,100644
+++ /dev/null
@@@ -1,28 -1,28 +1,0 @@@
--// cs0619-41.cs: `A.Filename' is obsolete: `Obsolete'
--// Line: 8
--
--class A: Error {
--      [System.ObsoleteAttribute ("Obsolete", true)]   
--      public override string Filename {
--              set {
--              }
--      }
--      
--      public static void Main () {}
--}
--
--public class Error {
--      public virtual string Filename {
--              set {
--              }
--              get {
--                      return "aa";
--              }
--      }
--}
--
--class B {
--      void TT () {
--              new A ().Filename = "Filename";
--      }
--}
index f3429d633a34da7fcd31c3f0db3c23b866814ae1,f3429d633a34da7fcd31c3f0db3c23b866814ae1..0fc25711f6c8c47c832ad197a8841c2ffb7f02a5
@@@ -1,4 -1,4 +1,4 @@@
--// cs0683.cs: `C.I.set_Foo(int)' explicit method implementation cannot implement `I.Foo' because it is an accessor
++// CS0683: `C.I.set_Foo(int)' explicit method implementation cannot implement `I.Foo.set' because it is an accessor
  // Line: 11
  
  interface I
index d9866e889a4115ae75a5c288df38d5922279524a,d9866e889a4115ae75a5c288df38d5922279524a..9a71e692257fcf7a05536148dba4c8e03f36512e
@@@ -1,4 -1,4 +1,4 @@@
--// CS0738: `C' does not implement interface member `I2.Key.get' and the best implementing candidate `C.Key' return type `IB' does not match interface member return type `IA'
++// CS0738: `C' does not implement interface member `I2.Key.get' and the best implementing candidate `C.Key.get' return type `IB' does not match interface member return type `IA'
  // Line: 22
  
  public interface I1
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ef6793f34ef98a2af2ce7f831a0a410f6199633b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,29 @@@
++// CS0809: Obsolete member `A.Filename' overrides non-obsolete member `Error.Filename'
++// Line: 8
++// Compiler options: -warnaserror
++
++class A: Error {
++      [System.ObsoleteAttribute ("Obsolete", true)]   
++      public override string Filename {
++              set {
++              }
++      }
++      
++      public static void Main () {}
++}
++
++public class Error {
++      public virtual string Filename {
++              set {
++              }
++              get {
++                      return "aa";
++              }
++      }
++}
++
++class B {
++      void TT () {
++              new A ().Filename = "Filename";
++      }
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f7efaf5a7f06a85d51b9156d77ecdf9912031428
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,24 @@@
++// CS1061: Type `A' does not contain a definition for `Foo' and no extension method `Foo' of type `A' could be found (are you missing a using directive or an assembly reference?)
++// Line: 17
++
++using System;
++using System.Runtime.CompilerServices;
++
++class A
++{
++      [IndexerName ("Foo")]
++      public int this [int index] {
++              get { return index; }
++              set { ; }
++      }
++
++      static void Test (A a, int value)
++      {
++              a.Foo = value;
++      }
++
++      public static void Main ()
++      {
++              Test (new A (), 9);
++      }
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e95697181aa0a719ed84c46ec377ce173f09ac0c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,23 @@@
++// CS1061: Type `A' does not contain a definition for `Foo' and no extension method `Foo' of type `A' could be found (are you missing a using directive or an assembly reference?)
++// Line: 16
++
++using System;
++using System.Runtime.CompilerServices;
++
++class A
++{
++      [IndexerName ("Foo")]
++      public int this [int index] {
++              get { return index; }
++      }
++
++      static int Test (A a)
++      {
++              return a.Foo;
++      }
++
++      public static void Main ()
++      {
++              Test (new A ());
++      }
++}
index 77fa101e0308adb173f6bfaf72b0dd57b00e7a44,77fa101e0308adb173f6bfaf72b0dd57b00e7a44..92cd9ec256c43f2bb63e14a60bfc8464ff3bfb6a
@@@ -1,4 -1,4 +1,4 @@@
--// cs1546.cs: Property `Title' is not supported by the C# language. Try to call the accessor method `Test.ITopic.get_Title(int, int)' directly
++// CS1546: Property or event `Test.ITopic.Title' is not supported by the C# language
  // Line: 9
  // Compiler options: -r:CS1546-lib.dll
  
index 7a675e50159568d2889f6fac644d7466d1296477,7a675e50159568d2889f6fac644d7466d1296477..97ad1e24224d261e43b7faac90643b63807b94ea
@@@ -1,4 -1,4 +1,4 @@@
--// CS1685: The predefined type `System.Int32' is ambiguous. Using definition from `mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
++// CS1685: The predefined type `System.Int32' is redefined in the source code. Ignoring the local type definition
  // Line: 6
  // Compiler options: -warn:1 -warnaserror
  
index bcf6c1802298fcce4e7016b6b1123d79bd3fda5e,bcf6c1802298fcce4e7016b6b1123d79bd3fda5e..13328629b4c690a6e6c5b861621dca63837293aa
@@@ -1,6 -1,6 +1,5 @@@
--// CS1739: The best overloaded method match for `A.this[int]' does not contain a parameter named `value'
++// CS1739: The best overloaded method match for `A.this[int].set' does not contain a parameter named `value'
  // Line: 17
--// Compiler options: -langversion:future
  
  class A
  {
index 009174e071b39c30ba109811efb07c205316f5cd,009174e071b39c30ba109811efb07c205316f5cd..22dc088b25a8cebbbf4e93b13f0f3a3e68c1f21e
@@@ -1,4 -1,4 +1,4 @@@
--// cs3005-2.cs: Identifier `CLSClass.Index' differing only in case is not CLS-compliant
++// CS3005: Identifier `CLSClass.Index.get' differing only in case is not CLS-compliant
  // Line: 14
  // Compiler options: -warnaserror
  
index d75aebcdf2d6e5e8c344e7f3aa7ea75e2c8e5951,d75aebcdf2d6e5e8c344e7f3aa7ea75e2c8e5951..475ab99c279f1cd28b99a58d158d12d6349e8eed
@@@ -1,5 -1,5 +1,5 @@@
--// CS3005: Identifier `I.this[int]' differing only in case is not CLS-compliant
--// Line: 12
++// CS3005: Identifier `I.BLAH.get' differing only in case is not CLS-compliant
++// Line: 16
  // Compiler options: -warnaserror
  
  using System.Runtime.CompilerServices;
index 848f0c749e0703aa9573a49c18f728a2aedba562,848f0c749e0703aa9573a49c18f728a2aedba562..c5415412b6b10c35987601e7385fabbf3150b82e
@@@ -1,4 -1,4 +1,4 @@@
--// CS0108: `BaseConcrete.InnerDerived<T>()' hides inherited member `BaseGeneric<T>.InnerDerived'. Use the new keyword if hiding was intended
++// CS0108: `BaseConcrete.InnerDerived<T>()' hides inherited member `BaseGeneric<string>.InnerDerived'. Use the new keyword if hiding was intended
  // Line: 14
  // Compiler options: -warn:2 -warnaserror
  
index 0f545622818805042ca9bfd8a76dc1675a8dbcaf,0f545622818805042ca9bfd8a76dc1675a8dbcaf..7a4df8bb8229e79c202136878e45989613f2af10
@@@ -1,4 -1,4 +1,4 @@@
--// CS0122: `Test<A>' is inaccessible due to its protection level
++// CS0122: `Test<float>' is inaccessible due to its protection level
  // Line: 8
  // Compiler options: -r:GCS0122-2-lib.dll
  
index 4c64ef6e73222595ccd0b59ea24645e333fc9fb5,4c64ef6e73222595ccd0b59ea24645e333fc9fb5..0a164dba475cb59a02bc1e9f4d05f230203c3878
@@@ -1,4 -1,4 +1,4 @@@
--// gcs0146.cs: Circular base class dependency involving `B<T>' and `A<T>'
++// CS0146: Circular base class dependency involving `B<T>' and `A<float>'
  // Line: 8
  
  class A<T> : B<int>
diff --cc mcs/errors/gcs0246-2.cs
index f5ce9f7c099080bbf06a83abf76c090ca1ceb7cf,f5ce9f7c099080bbf06a83abf76c090ca1ceb7cf..0000000000000000000000000000000000000000
deleted file mode 100644,100644
+++ /dev/null
@@@ -1,9 -1,9 +1,0 @@@
--// gcs0246.cs: The type or namespace name `List`2' could not be found. Are you missing a using directive or an assembly reference?
--// Line: 8
--
--using System.Collections.Generic;
--
--class X
--{
--      List<int,long> list;
--}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1050967f9698951c1e73eaf64d94e0e2588988eb
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,7 @@@
++// CS0246: The type or namespace name `X' could not be found. Are you missing a using directive or an assembly reference?
++// Line: 4
++
++class A<T> where T : X
++{
++      public class X {}
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5411c541d01b6b0c3449d8390f6e77a4052e8a1a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,18 @@@
++// CS0246: The type or namespace name `M' could not be found. Are you missing a using directive or an assembly reference?
++// Line: 11
++
++interface I<T>
++{
++      void G<TT> ();
++}
++
++class C
++{
++      void I<M>.G<M> ()
++      {
++      }
++      
++      public static void Main ()
++      {
++      }
++}
index c9353f1711069724c35fe57085b9267f00febf48,c9353f1711069724c35fe57085b9267f00febf48..775a3daa957f4dd5baf0c41d8cf17dabee77b08e
@@@ -1,4 -1,4 +1,4 @@@
--// gcs0246.cs: The type or namespace name `NotExist`1' could not be found. Are you missing a using directive or an assembly reference?
++// CS0246: The type or namespace name `NotExist' could not be found. Are you missing a using directive or an assembly reference?
  // Line: 6
  
  class X
index d9f3591c16cc19be663565206f0d5735f24046b7,d9f3591c16cc19be663565206f0d5735f24046b7..2760b2ca53d237d7d0c371aa68710b8449fffaa5
@@@ -1,5 -1,5 +1,5 @@@
--// CS0304: Cannot create an instance of the variable type 'T' because it doesn't have the new() constraint
--// Line: 9
++// CS0304: Cannot create an instance of the variable type `T' because it does not have the new() constraint
++// Line: 8
  
  public class Foo<T>
  {
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8e37f48c091dfd2582704a9696a2b29688ef40c1
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,9 @@@
++// CS0305: Using the generic type `System.Collections.Generic.List<T>' requires `1' type argument(s)
++// Line: 8
++
++using System.Collections.Generic;
++
++class X
++{
++      List<int,long> list;
++}
diff --cc mcs/errors/gcs0309-2.cs
index 6411c3d42273ecc86e1c95bc081348f8bef22763,6411c3d42273ecc86e1c95bc081348f8bef22763..0000000000000000000000000000000000000000
deleted file mode 100644,100644
+++ /dev/null
@@@ -1,25 -1,25 +1,0 @@@
--// CS0309: The type `B' must be convertible to `I' in order to use it as parameter `T' in the generic type or method `Foo<T>'
--// Line: 21
--
--public class Foo<T>
--      where T : A, I
--{
--}
--
--public interface I
--{ }
--
--public class A
--{ }
--
--public class B : A
--{ }
--
--class X
--{
--      Foo<B> foo;
--
--      static void Main ()
--      {
--      }
--}
diff --cc mcs/errors/gcs0309-3.cs
index 7aae4e320a674bdf419d6a025f39ce9b5b7512a7,7aae4e320a674bdf419d6a025f39ce9b5b7512a7..0000000000000000000000000000000000000000
deleted file mode 100644,100644
+++ /dev/null
@@@ -1,39 -1,39 +1,0 @@@
--// CS0309: The type `B' must be convertible to `A' in order to use it as parameter `T' in the generic type or method `Foo<T>'
--// Line: 35
--using System;
--
--public class Foo<T>
--      where T : A
--{
--      public void Test (T t)
--      {
--              Console.WriteLine (t);
--              Console.WriteLine (t.GetType ());
--              t.Hello ();
--      }
--}
--
--public class A
--{
--      public void Hello ()
--      {
--              Console.WriteLine ("Hello World");
--      }
--}
--
--public class B
--{
--      public static implicit operator A (B b)
--      {
--              return new A ();
--      }
--}
--
--class X
--{
--      Foo<B> b;
--
--      static void Main ()
--      {
--      }
--}
diff --cc mcs/errors/gcs0309-4.cs
index 6606028ada2c210790112f4b4f25f37a718f02b5,6606028ada2c210790112f4b4f25f37a718f02b5..0000000000000000000000000000000000000000
deleted file mode 100644,100644
+++ /dev/null
@@@ -1,21 -1,21 +1,0 @@@
-- // gcs0309.cs: The type `U' must be convertible to `System.IComparable' in order to use it as parameter `T' in the generic type or method `A<T>'
--// Line: 13
--
--using System;
--
--class A<T>
--      where T: IComparable
--{
--}
--
--class B<U,V>
--      where V: A<U>
--{
--}
--
--class Driver
--{
--      public static void Main ()
--      {
--      }
--}
diff --cc mcs/errors/gcs0309-5.cs
index 96100ee2d927479d83c6df71afec3cff474349ec,96100ee2d927479d83c6df71afec3cff474349ec..0000000000000000000000000000000000000000
deleted file mode 100644,100644
+++ /dev/null
@@@ -1,9 -1,9 +1,0 @@@
--// CS0309: The type `int' must be convertible to `System.EventArgs' in order to use it as parameter `TEventArgs' in the generic type or method `System.EventHandler<TEventArgs>'
--// Line: 5
--
--class X {
--      System.EventHandler <int> x;
--      static void Main () {}
--}
--
--
diff --cc mcs/errors/gcs0309-6.cs
index 2b932584751ac4b2c8f63de9617fe43a97065de0,2b932584751ac4b2c8f63de9617fe43a97065de0..0000000000000000000000000000000000000000
deleted file mode 100644,100644
+++ /dev/null
@@@ -1,6 -1,6 +1,0 @@@
--// CS0309: The type `B<int>' must be convertible to `D<B<int>>' in order to use it as parameter `X' in the generic type or method `C<X>'
--// Line: 3
--class A : C<B<int>> {}
--class B<X> {}
--interface C<X> where X : D<X> {}
--interface D<X> {}
diff --cc mcs/errors/gcs0309-7.cs
index 9dd3a0d59553e94c65c0252b49274a4c001104bc,9dd3a0d59553e94c65c0252b49274a4c001104bc..0000000000000000000000000000000000000000
deleted file mode 100644,100644
+++ /dev/null
@@@ -1,30 -1,30 +1,0 @@@
--// CS0309: The type `T' must be convertible to `System.IDisposable' in order to use it as parameter `T' in the generic type or method `IB<K,T>'
--// Line: 20
--
--public interface IA<K> 
--      where K : System.IComparable, System.IComparable<K>
--{
--}
--
--public class A<K> : IA<K> 
--      where K : System.IComparable, System.IComparable<K>
--{
--}
--
--public interface IB<K,T> 
--      where T : System.IDisposable
--{
--} 
--
--public class B<K,T> : IB<K,T> 
--      where T : B<K,T>.Element, new() 
--      where K : System.IComparable, System.IComparable<K>
--{
--      public abstract class Element : A<K>
--      {
--      }
--}
--
--
--
--
diff --cc mcs/errors/gcs0309.cs
index 91c0703499ef4fe72027edf1d474555cd5522dce,91c0703499ef4fe72027edf1d474555cd5522dce..0000000000000000000000000000000000000000
deleted file mode 100644,100644
+++ /dev/null
@@@ -1,24 -1,24 +1,0 @@@
--// CS0309: The type `B' must be convertible to `A' in order to use it as parameter `T' in the generic type or method `Foo<T>'
--// Line: 20
--
--public class Foo<T>
--      where T : A
--{
--}
--
--public class A
--{
--}
--
--public class B
--{
--}
--
--class X
--{
--      Foo<B> foo;
--
--      static void Main ()
--      {
--      }
--}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..664b4fe4a7a310bd1dbb0304ce6b6654bef1d6f2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,25 @@@
++// CS031: The type `B' cannot be used as type parameter `T' in the generic type or method `Foo<T>'. There is no implicit reference conversion from `B' to `I'
++// Line: 21
++
++public class Foo<T>
++      where T : A, I
++{
++}
++
++public interface I
++{ }
++
++public class A
++{ }
++
++public class B : A
++{ }
++
++class X
++{
++      Foo<B> foo;
++
++      static void Main ()
++      {
++      }
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..06bb4b0c0d222ec40ad638f071016cd104054086
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,39 @@@
++// CS0311: The type `B' cannot be used as type parameter `T' in the generic type or method `Foo<T>'. There is no implicit reference conversion from `B' to `A'
++// Line: 35
++using System;
++
++public class Foo<T>
++      where T : A
++{
++      public void Test (T t)
++      {
++              Console.WriteLine (t);
++              Console.WriteLine (t.GetType ());
++              t.Hello ();
++      }
++}
++
++public class A
++{
++      public void Hello ()
++      {
++              Console.WriteLine ("Hello World");
++      }
++}
++
++public class B
++{
++      public static implicit operator A (B b)
++      {
++              return new A ();
++      }
++}
++
++class X
++{
++      Foo<B> b;
++
++      static void Main ()
++      {
++      }
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3a47bebcf15cfa1497e65e7860e065b4132b9098
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,6 @@@
++// CS0311: The type `B<int>' cannot be used as type parameter `X' in the generic type or method `C<X>'. There is no implicit reference conversion from `B<int>' to `D<B<int>>'
++// Line: 3
++class A : C<B<int>> {}
++class B<X> {}
++interface C<X> where X : D<X> {}
++interface D<X> {}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6ce17f5555918ee47b9290114000dbe6ffb901b7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,24 @@@
++// CS0311: The type `B' cannot be used as type parameter `T' in the generic type or method `Foo<T>'. There is no implicit reference conversion from `B' to `A'
++// Line: 19
++
++public class Foo<T>
++      where T : A
++{
++}
++
++public class A
++{
++}
++
++public class B
++{
++}
++
++class X
++{
++      Foo<B> foo;
++
++      static void Main ()
++      {
++      }
++}
index 5b3d4e57e83c2d59b57a24800c5bef7e4a1296b6,5b3d4e57e83c2d59b57a24800c5bef7e4a1296b6..17fe7bc883f6d1dbcd6a4a05836bb81ab9eccfee
@@@ -1,4 -1,4 +1,4 @@@
--// CS0313: The type `S?' cannot be used as type parameter `T' in the generic type or method `S.Foo<T>(T)'. The nullable type `S?' never satisfies interface constraint of type `I'
++// CS0313: The type `S?' cannot be used as type parameter `T' in the generic type or method `S.Foo<T>(T)'. The nullable type `S?' never satisfies interface constraint
  // Line: 16
  
  interface I
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..504053eefb6d0e0ef8008427a1c0c64460c0b2e5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,30 @@@
++// CS0314: The type `T' cannot be used as type parameter `T' in the generic type or method `IB<K,T>'. There is no boxing or type parameter conversion from `T' to `System.IDisposable'
++// Line: 20
++
++public interface IA<K> 
++      where K : System.IComparable, System.IComparable<K>
++{
++}
++
++public class A<K> : IA<K> 
++      where K : System.IComparable, System.IComparable<K>
++{
++}
++
++public interface IB<K,T> 
++      where T : System.IDisposable
++{
++} 
++
++public class B<K,T> : IB<K,T> 
++      where T : B<K,T>.Element, new() 
++      where K : System.IComparable, System.IComparable<K>
++{
++      public abstract class Element : A<K>
++      {
++      }
++}
++
++
++
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b2a9f85fecda900276fb45caa60176b8cba24503
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,21 @@@
++// CS0314: The type `U' cannot be used as type parameter `T' in the generic type or method `A<T>'. There is no boxing or type parameter conversion from `U' to `System.IComparable'
++// Line: 13
++
++using System;
++
++class A<T>
++      where T: IComparable
++{
++}
++
++class B<U,V>
++      where V: A<U>
++{
++}
++
++class Driver
++{
++      public static void Main ()
++      {
++      }
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3ed8e1e8c922edad2ca72a401bb04c9fd3bb5ea5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,9 @@@
++// CS0315: The type `int' cannot be used as type parameter `TEventArgs' in the generic type or method `System.EventHandler<TEventArgs>'. There is no boxing conversion from `int' to `System.EventArgs'
++// Line: 5
++
++class X {
++      System.EventHandler <int> x;
++      static void Main () {}
++}
++
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c22648e5d8efb907364df1c0f6845b0516ef4fc2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,22 @@@
++// CS0411: The type arguments for method `C.Foo<T>(T, System.Collections.Generic.Comparer<T>)' cannot be inferred from the usage. Try specifying the type arguments explicitly
++// Line: 20
++
++using System;
++using System.Collections.Generic;
++
++public class C
++{
++      static void Foo<T>(T t, Comparer<T> tc)
++      {
++      }
++      
++      static int Compare (int a, int b)
++      {
++              return -1;
++      }
++      
++      public static void Main ()
++      {
++              Foo (1, Compare);
++      }
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ca372d7a0a9931ad3ce254af03c48723efb4d52c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,14 @@@
++// CS0425: The constraints for type parameter `V' of method `Foo<T,X>.Test<V>()' must match the constraints for type parameter `U' of interface method `IFoo<T>.Test<U>()'. Consider using an explicit interface implementation instead
++// Line: 11
++
++interface IFoo<T>
++{
++      void Test<U> () where U : T;
++}
++
++class Foo<T, X> : IFoo<T>
++{
++      public void Test<V> () where V : X
++      {
++      }
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..fe08835898be0e24b33b7d2605e4f5e5e492c9ba
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,10 @@@
++// CS0455: Type parameter `T' inherits conflicting constraints `System.ValueType' and `Test'
++// Line: 8
++
++class Test
++{ }
++
++class Foo<T,U>
++      where T : struct, U
++      where U : Test
++{ }
index 44aefafdc4aec7f3c2e05c5a2a7e6d6ba5f53225,44aefafdc4aec7f3c2e05c5a2a7e6d6ba5f53225..e957adff45d0e65bff6d4caad0103b459477ec70
@@@ -1,6 -1,6 +1,5 @@@
  // CS0455: Type parameter `T' inherits conflicting constraints `Test' and `World'
--// Line: 13
--using System;
++// Line: 11
  
  class Test
  { }
@@@ -12,9 -12,9 +11,3 @@@ class Foo<T,U
        where T : Test, U
        where U : World
  { }
--
--class X
--{
--      static void Main ()
--      { }
--}
index 8a8103211d25f4c0b8f06115c027d07cff01f0f8,8a8103211d25f4c0b8f06115c027d07cff01f0f8..0ae5030f9681c9dae731c0b4e61bd0c3b9621f5b
@@@ -1,4 -1,4 +1,4 @@@
--// gcs0689.cs: Cannot derive from `T' because it is a type parameter
++// CS0689: `Stack<T>': Cannot derive from type parameter `T'
  // Line: 4
  
  class Stack<T> : T { }
index 9600a375e2b7551f6cc9a484e283691ca59d3691,9600a375e2b7551f6cc9a484e283691ca59d3691..791967c8ba6cf470cba6124c2a740c38c6f99fd2
@@@ -1,4 -1,4 +1,4 @@@
--// gcs0695.cs: `A<X,Y,Z>' cannot implement both `I<A<Y,Y,Z>>' and `I<X>' because they may unify for some type parameter substitutions
++// CS0695: `A<X,Y,Z>' cannot implement both `I<X>' and `I<A<Y,Y,Z>>' because they may unify for some type parameter substitutions
  // Line: 7
  
  interface I<X>
index 447a0b29dabe82162f0b58c55da03e74e86f6bab,447a0b29dabe82162f0b58c55da03e74e86f6bab..d352d9936b3c3f34ed3b873639a514cdd65be370
@@@ -1,4 -1,4 +1,4 @@@
--// gcs0695.cs: `C<X,Y>' cannot implement both `I<K<Y>>' and `I<X>' because they may unify for some type parameter substitutions
++// CS0695: `C<X,Y>' cannot implement both `I<X>' and `I<K<Y>>' because they may unify for some type parameter substitutions
  // Line: 10
  
  interface I<X>
index 8cf0ba4a547e688b91b5afa158ca5b543e1a3683,8cf0ba4a547e688b91b5afa158ca5b543e1a3683..fdefb0e591239edf5bfa48c8b4de3037c1719dfe
@@@ -1,4 -1,4 +1,4 @@@
--// gcs0695.cs: `C<X,Y>' cannot implement both `I<X>' and `I<K<Y>>' because they may unify for some type parameter substitutions
++// CS0695: `C<X,Y>' cannot implement both `I<K<Y>>' and `I<X>' because they may unify for some type parameter substitutions
  // Line: 10
  
  interface I<X>
index 51efc8985bb1492fb053f8429e81120bd0f1d4c5,51efc8985bb1492fb053f8429e81120bd0f1d4c5..d181402c6930fc468a69692fa9a24019f678e7b0
@@@ -1,4 -1,4 +1,4 @@@
--// gcs0695.cs: `A<X,Y>' cannot implement both `I<Y>' and `I<X>' because they may unify for some type parameter substitutions
++// CS0695: `A<X,Y>' cannot implement both `I<X>' and `I<Y>' because they may unify for some type parameter substitutions
  // Line: 7
  
  interface I<X>
index 95b03d1af4946bce33a259278942daae12bb7fd1,95b03d1af4946bce33a259278942daae12bb7fd1..72e78e16ffd352e992516942c3a572f2ad76b378
@@@ -1,4 -1,4 +1,4 @@@
--// CS0703: Inconsistent accessibility: constraint type `C.I' is less accessible than `Foo<T>()'
++// CS0703: Inconsistent accessibility: constraint type `C.I' is less accessible than `C.Foo<T>()'
  // Line: 10
  
  public class C
index 0bcbbefb47098d2e2966c82b1d1b14baa61b0ddd,0bcbbefb47098d2e2966c82b1d1b14baa61b0ddd..46bb5f7c91cfbfdfbd9b93eef9672f054a941d02
@@@ -1,4 -1,4 +1,4 @@@
--// CS1502: The best overloaded method match for `A.A(System.Collections.Generic.IList<System.Collections.Generic.IList<int>>)' has some invalid arguments
++// CS1502: The best overloaded method match for `A.A(System.Collections.Generic.IList<int>[])' has some invalid arguments
  // Line: 40
  using System;
  using System.Collections;
diff --cc mcs/errors/gcs1503-2.cs
index 24fa1e666287f119b75f68289a6930c32858f410,24fa1e666287f119b75f68289a6930c32858f410..0000000000000000000000000000000000000000
deleted file mode 100644,100644
+++ /dev/null
@@@ -1,22 -1,22 +1,0 @@@
--// CS1503: Argument `#2' cannot convert `method group' expression to type `System.Collections.Generic.Comparer<int>'
--// Line: 20
--
--using System;
--using System.Collections.Generic;
--
--public class C
--{
--      static void Foo<T>(T t, Comparer<T> tc)
--      {
--      }
--      
--      static int Compare (int a, int b)
--      {
--              return -1;
--      }
--      
--      public static void Main ()
--      {
--              Foo (1, Compare);
--      }
--}
index 6060443b44b3be57c0c27fa5b83d058d67e6496a,6060443b44b3be57c0c27fa5b83d058d67e6496a..652f3ffc6a8c2cd033844c0164a5fbf6bbad66b8
@@@ -1,4 -1,4 +1,4 @@@
--// CS1640: foreach statement cannot operate on variables of type `T' because it contains multiple implementation of `System.Collections.Generic.IEnumerable<T>.GetEnumerator()'. Try casting to a specific implementation\r
++// CS1640: foreach statement cannot operate on variables of type `T' because it contains multiple implementation of `System.Collections.Generic.IEnumerable<T>'. Try casting to a specific implementation\r
  // Line: 11\r
  \r
  using System.Collections.Generic;\r
index d0e2b561b6b33611513177140bb6d10ac74e7045,d0e2b561b6b33611513177140bb6d10ac74e7045..3938d68355bebbfc5eadbffa9e622bd93733d1a1
@@@ -1,4 -1,4 +1,4 @@@
--// CS1961: The covariant type parameter `V' must be contravariantly valid on `Foo<T>(T)'
++// CS1961: The covariant type parameter `V' must be contravariantly valid on `I<V>.Foo<T>(T)'
  // Line: 6
  
  interface I<out V>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2abd8cbcab7c85d4c63b5ecc54818df88c5c95b2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,13 @@@
++// CS3005: Identifier `CLSClass.Method<T>(int)' differing only in case is not CLS-compliant
++// Line: 12
++// Compiler options: -warnaserror
++
++[assembly:System.CLSCompliant (true)]
++
++public class BaseClass {
++        public int method;
++}
++
++public class CLSClass : BaseClass {
++        public static void Method<T>(int arg) {}
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d562140a6867f504251b69082b6bb3f96b708c06
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,14 @@@
++// CS3009: `C': base type `C<ulong>' is not CLS-compliant
++// Line: 14
++// Compiler options: -warnaserror -warn:1
++
++using System;
++[assembly:CLSCompliant(true)]
++
++public class C<T>
++{
++}
++
++public class C : C<ulong>
++{
++}