[Mono-bugs] [Bug 44845][Wis] Changed - MCS doesn't find the best overloaded match for a constructor
bugzilla-daemon@rocky.ximian.com
bugzilla-daemon@rocky.ximian.com
Fri, 20 Jun 2003 20:00:33 -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 ravi@ximian.com.
http://bugzilla.ximian.com/show_bug.cgi?id=44845
--- shadow/44845 Fri Jun 20 19:47:21 2003
+++ shadow/44845.tmp.9619 Fri Jun 20 20:00:33 2003
@@ -10,12 +10,13 @@
Component: Misc
AssignedTo: ravi@ximian.com
ReportedBy: spouliot@videotron.ca
QAContact: mono-bugs@ximian.com
TargetMilestone: ---
URL:
+Cc: bmaurer@users.sf.net,lupus@ximian.com
Summary: MCS doesn't find the best overloaded match for a constructor
Steps to reproduce the problem:
1. cd /mcs/tools/security/certview
2. Uncomment lines 126-127 in CertificateFormatter.cs (just under line //
BUG: Works with CSC but not with MCS)
@@ -106,6 +107,22 @@
but the interesting thing here is that although the types of the
argument and the constructor parameter are the same, mcs refuses to
see that they are equal !
I wonder if this has to do with the fact that the X509Extension is
coming from an assembly.
+
+------- Additional Comments From ravi@ximian.com 2003-06-20 20:00 -------
+Seems like mono_metadata_type_equal doesnt think the two types are
+equal. A look at the method reveals the following comparison:
+
+ case MONO_TYPE_CLASS:
+ return t1->data.klass == t2->data.klass;
+
+Which is basically a pointer compare. Now in the above case, although
+the types are equal, since they come from a different assembly, the
+pointers are not the same so we have :
+
+Mono.Security.X509.X509Extension -> Mono.Security.X509.X509Extension ?
+0x819b7f0 -> 0x81f8b08
+
+Any ideas, Lupus ?