PR# 16921 Bogus VEVI on attribute in generic class with formal constrained by expanded type
Problem Report Summary
Submitter: prestoat2000
Category: Compiler
Priority: Low
Date: 2010/06/28
Class: Bug
Severity: Non-critical
Number: 16921
Release: 6.6.83355
Confidential: No
Status: Closed
Responsible:
Environment: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.9.0.10) Gecko/2009042715 Firefox/3.0.10
Solaris 10 on SPARC
Synopsis: Bogus VEVI on attribute in generic class with formal constrained by expanded type
Description
A generic class whose formal generic is constrained by an expanded type and that has an attribute of the formal generic type is reported to violate VEVI on `default_create'. It seems to me that it should be valid, since the attribute has to be of an expanded type. If I'm confused, please correct the test. Added eweasel test attach073 for this bug.
To Reproduce
Run eweasel test attach073.
Problem Report Interactions
Fixed in rev#83741 of EiffelStudio 6.7 intermediate release.
But the descendant of an expanded class does not conform to that expanded class type (at least not in the current implementation). I tried with a descendant of the expanded class and the compiler would not accept it as actual generic. So your implementation allows a class to inherit from an expanded class but says that the type of this descendant does not conform to the type of the expanded class from which it inherited.
The constraint says it is expanded, but you could in theory have a non-expanded descendant for the constraint. It is not exactly ECMA but during our discussions, we did not prevent inheritance from an expanded class.