[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