PR# 3708 Wrong "Feature" in VTCG error message
Problem Report Summary
Submitter: gobobe
Category: Compiler
Priority: Medium
Date: 2004/03/20
Class: Bug
Severity: Non-critical
Number: 3708
Release: 5.5.0409
Confidential: No
Status: Open
Responsible:
Environment: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.0.2) Gecko/20030208 Netscape/7.02
Synopsis: Wrong "Feature" in VTCG error message
Description
ISE Eiffel 5.5.0409 (just to make sure the Eiffel version appears in the bug report). This bug is related to [Compiler/3707]. Consider that we have the following expanded class: ------------------------- expanded class B inherit ANY redefine default_create end create default_create, make_from_reference --convert -- make_from_reference ({reference B}), -- to_reference: {reference B} feature default_create is -- do i := 45 end make_from_reference (b: reference B) is do i := 46 end to_reference: reference B is do create Result.default_create end i: INTEGER end ------------------------- Then when I try to compile: ------------------------- class A create make feature make is do create l.make end l: LINKED_LIST [B] end ------------------------- I get the following error: ------------------------------------------------------------------------------- Error code: VTCG Error: actual generic parameter does not conform to constraint. What to do: make sure that actual parameter is a type conforming to the constraint (the type appearing after `->' for the corresponding formal). Class: A Feature: invariant In declaration: LINKED_LIST [B] For type: LINKED_LIST [B] Argument number: 1: Actual generic parameter: B Type to which it should conform: ANY ------------------------------------------------------------------------------- This is what I already reported in [Compiler/3707], but what I wanted to point out here is that 'LINKED_LIST [B]' does not appear in the invariant as indicated in the error message above. There is no invariant in class A, and the type actually appears in feature `l'.
To Reproduce
Problem Report Interactions