Bugzilla – Bug 318752
[GMCS] Some recursive problem
Last modified: 2007-09-15 21:24:46 UTC
---- Reported by kiess@h3c.de 2005-08-16 10:23:15 MST ---- Description of Problem: Executing program using generics fails with '** ERROR **: implement type compare for 0!' class A<a> {} class B<a> : A<a> {} class C:B<C> {} class M { static void Main() { C c; } } Steps to reproduce the problem: 1. gmcs test.cs 2. mono test.exe Actual Results: ** ERROR **: implement type compare for 0! aborting... Expected Results: The program should run without errors. How often does this happen? always Additional Information: I'm using Mono svn r48422. ---- Additional Comments From martin@ximian.com 2005-09-19 13:45:10 MST ---- Difficult, some recursive problem. ---- Additional Comments From martin@ximian.com 2006-03-22 08:22:32 MST ---- I can't reproduce this anymore. ---- Additional Comments From ben@joldersma.org 2007-01-23 18:09:28 MST ---- I'm getting this error when I recompile my asp.net application, and try to reload the assembly / site in xsp2. I've seen the message like ** ERROR **: implement type compare for 0! as well as: ** ERROR **: implement type compare for 2a! I'm not sure what 2a means in this context? It's failing on this call: HtmlElement he = RootContext.CreateWidget<HtmlElement>();, which is a generic method. the stack trace is weird, because it looks like it's somehow getting back into the current function: ** ERROR **: implement type compare for 2a! aborting... Stacktrace: at EmergeTk.Widget.ParseHtmlElement (System.Xml.XmlNode) <0xffffffff> at EmergeTk.Widget.ParseHtmlElement (System.Xml.XmlNode) <0x00057> I don't see how it could be calling ParseHtmlElement a second time. Here's the entire method, it fails on the first line: private void ParseHtmlElement(XmlNode n) { try { HtmlElement he = RootContext.CreateWidget<HtmlElement>(); he.TagName = n.Name; he.id = he.TagName + he.id; he.EmergePrefix = NearestContext.TagPrefix; foreach (XmlAttribute a in n.Attributes) { if( a.Prefix == NearestContext.TagPrefix ) he.SetAttribute(a.Name, a.Value); else he.SetAttribute(a.Name, Util.ToJavaScriptString(a.Value)); } Add(he); he.ParseXml(n); } catch(Exception e) { System.Console.WriteLine("ParseHtmlElement: " + EmergeTk.Util.BuildExceptionOutput(e)); } } Let me know if I can send anymore info that will help. I'm not too worried about it, but y'all might be interested in the info... Unknown bug field "cf_op_sys_details" encountered while moving bug <cf_op_sys_details>Debian Sarge</cf_op_sys_details> Unknown operating system unknown. Setting to default OS "Other".