[Mono-bugs] [Bug 76762][Nor] Changed - [GMCS] CS0508 not reported for generic property override causing looped unification

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Sat Dec 17 13:57:32 EST 2005


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 rharinath at novell.com.

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

--- shadow/76762	2005-12-17 10:18:07.000000000 -0500
+++ shadow/76762.tmp.13679	2005-12-17 13:57:32.000000000 -0500
@@ -5,13 +5,13 @@
 OS Details: 
 Status: NEW   
 Resolution: 
 Severity: Unknown
 Priority: Normal
 Component: C#
-AssignedTo: martin at ximian.com                            
+AssignedTo: rharinath at novell.com                            
 ReportedBy: nazgul at omega.pl               
 QAContact: mono-bugs at ximian.com
 TargetMilestone: ---
 URL: 
 Summary: [GMCS] CS0508 not reported for generic property override causing looped unification
 
@@ -108,6 +108,28 @@
            throw new System.Exception("The method or operation is not
 implemented.");
        }
  }
 
 Which we can now easily see why is rejected.
+
+------- Additional Comments From rharinath at novell.com  2005-12-17 13:57 -------
+Thanks for the analysis.  So, the deduction '(c)' above appears to be
+wrong.
+
+Essentially this is a horrible interaction between generics and the
+type-lookup rules.  In non-generic code, I don't think this
+distinction matters -- it'd be the same type however you slice it.
+
+I'm stealing the bug from Martin :-)
+
+I think we have to ensure that
+
+(1) a type name is not injected into its contained declaration space
+
+(2) a name lookup first travels the inheritance hierarchy before
+looking at any enclosing declaration spaces
+
+Together, this would match the behaviour you see.  I'm fairly sure
+that (2) is implemented.  So, I'll have to track down where it's not
+satisfying (1).
+


More information about the mono-bugs mailing list