[Mono-bugs] [Bug 74905][Nor] Changed - gmcs does not allow delegate inheritance in generic classes

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Wed, 11 May 2005 04:18:08 -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 dsilva@ccs.neu.edu.

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

--- shadow/74905	2005-05-11 04:14:40.000000000 -0400
+++ shadow/74905.tmp.23126	2005-05-11 04:18:08.000000000 -0400
@@ -1,14 +1,14 @@
 Bug#: 74905
 Product: Mono: Compilers
 Version: 1.1
-OS: 
+OS: unknown
 OS Details: 
 Status: NEW   
 Resolution: 
-Severity: 
+Severity: Unknown
 Priority: Normal
 Component: C#
 AssignedTo: mono-bugs@ximian.com                            
 ReportedBy: dsilva@ccs.neu.edu               
 QAContact: mono-bugs@ximian.com
 TargetMilestone: ---
@@ -40,6 +40,28 @@
 $ gmcs -target:library Test.cs
 Test.cs(12) error CS0505: 'Nil`1.each(List`1.Processing)': cannot override
 because 'List`1.each' is not a method
 Test.cs(5): 'List`1.each(List`1.Processing)' (name of symbol related to
 previous error
 Compilation failed: 1 error(s), 0 warnings
+
+------- Additional Comments From dsilva@ccs.neu.edu  2005-05-11 04:18 -------
+Note that gmcs does not signal an error if the Processing type in the
+subclass is fully qualified:
+
+  public abstract class List <T> {
+    public delegate void Processing(T obj);
+
+    public abstract void each(Processing f);
+  }
+
+  public class Nil<T> : List<T> {
+    public static Nil<T> nil = new Nil<T>();
+    private Nil() {}
+
+    public override void each(List<T>.Processing f) {}
+  }
+
+
+$ gmcs -target:library Test.cs
+$
+