[Mono-bugs] [Bug 67689][Nor] Changed - Missing warning CS0278 - "doesn't implement the 'collection' pattern"

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Sat, 30 Apr 2005 08:04:50 -0400 (EDT)


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by martin@ximian.com.

http://bugzilla.ximian.com/show_bug.cgi?id=67689

--- shadow/67689	2004-10-09 14:54:36.000000000 -0400
+++ shadow/67689.tmp.20634	2005-04-30 08:04:50.000000000 -0400
@@ -11,13 +11,13 @@
 AssignedTo: mono-bugs@ximian.com                            
 ReportedBy: rodolfocampero@hotmail.com               
 QAContact: mono-bugs@ximian.com
 TargetMilestone: ---
 URL: 
 Cc: 
-Summary: mcs compiles program w/ambiguous call between 2 GetEnumerator
+Summary: Missing warning CS0278 - "doesn't implement the 'collection' pattern"
 
 Description of Problem:
 mcs compiles the following program, which is rejected by Microsoft .NET 
 compiler:
 
 8<----------------------------------------------------------------
@@ -103,6 +103,30 @@
 }
 8<---------------------------------------------------
 
 Note that in both sample programs, mcs always uses GetEnumerator from 
 System.Collections.IEnumerator within the foreach statement, as does csc 
 for the second one.
+
+------- Additional Comments From martin@ximian.com  2005-04-30 08:04 -------
+The expected behavior is wrong.
+
+The second example compiles and works fine with mcs and csc.
+
+The first example is supposed to compile without any errors (as it
+does with mcs), but it should report a warning:
+
+martin@mordor ~
+$ csc J.cs
+Microsoft (R) Visual C# 2005 Compiler version 8.00.50215.44
+for Microsoft (R) Windows (R) 2005 Framework version 2.0.50215
+Copyright (C) Microsoft Corporation 2001-2005. All rights reserved.
+ 
+J.cs(26,25): warning CS0278: 'Testing.IMixedEnumerable' does not
+implement the 'collection' pattern.
+'System.Collections.IEnumerable.GetEnumerator()' is ambiguous with
+'Testing.ICustomEnumerable.GetEnumerator()'.
+c:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\mscorlib.dll: (Location
+of symbol related to previous warning)
+J.cs(6,29): (Location of symbol related to previous warning)
+ 
+