[Mono-bugs] [Bug 34403][Nor] Changed - mcs doesn't see an inherited explicit interface member implementation
bugzilla-daemon@rocky.ximian.com
bugzilla-daemon@rocky.ximian.com
23 Nov 2002 00:11:44 -0000
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 miguel@ximian.com.
http://bugzilla.ximian.com/show_bug.cgi?id=34403
--- shadow/34403 Thu Nov 21 09:42:18 2002
+++ shadow/34403.tmp.4451 Fri Nov 22 19:11:44 2002
@@ -1,22 +1,21 @@
Bug#: 34403
-Product: Mono/MCS
+Product: Mono/Runtime
Version: unspecified
OS: unknown
OS Details:
Status: NEW
Resolution:
Severity: Unknown
Priority: Normal
-Component: Misc
+Component: misc
AssignedTo: mono-bugs@ximian.com
ReportedBy: avd@openlinksw.com
QAContact: mono-bugs@ximian.com
TargetMilestone: ---
URL:
-Cc:
Summary: mcs doesn't see an inherited explicit interface member implementation
The following code compiles fine with Microsoft's csc but produces
an error with mcs.
using System;
@@ -39,6 +38,38 @@
}
Actual Results:
csif.cs(14) error CS0536: `Y' does not implement interface member `I.m'
Compilation failed: 1 error(s), 0 warnings
+
+------- Additional Comments From miguel@ximian.com 2002-11-22 19:11 -------
+I fixed this a couple of weeks ago, but the fix exposes a bug in the
+Mono runtime, so it is currently uncommented.
+
+This is a Mono runtime bug.
+
+The compiler generates the code correctly if running on Windows, here
+is the output when running on Mono, when trying to compile:
+
+mono$ mono mcs.exe a.cs
+no implementation for interface method .I::m() in class .Y
+METHOD .ctor()
+METHOD mm()
+METHOD Main(string[])
+
+** ERROR **: file class.c: line 687 (mono_class_setup_vtable): should
+not be reached
+aborting...
+Aborted
+
+The code to remove in the compiler is: mcs/pending.cs, in
+GetMissinginterfaces:
+
+ //
+ // Remove the return below to expose the bug, for now, we need the
+runtime to be fixed.
+ //
+ return implementing_ifaces;
+
+If you remove that, try the example above. It will also be exposed in
+a corlib compilation.