PR# 19945 VJAR errors when inheriting from TWO_WAY_TREE or LINKED_TREE
Problem Report Summary
Submitter: karsten_heusser
Category: EiffelBase
Priority: Medium
Date: 2025/01/02
Class: Bug
Severity: Serious
Number: 19945
Release: 23.09
Confidential: No
Status: Open
Responsible:
Environment: win
Synopsis: VJAR errors when inheriting from TWO_WAY_TREE or LINKED_TREE
Description
If MY_TREE inherits from ARRAYED_TREE, the compiler does not complain. As soon as you switch from ARRAYED_TREE to LINKED_TREE or TWO_WAY_TREE as ancestor the compiler produces VJAR errors.
To Reproduce
=== APPLICATION.e === note description: "[ Sample application to demonstrate type conflict when MY_TREE [G] inherits from TWO_WAY_TREE [G] or LINKED_TREE [G]. The VJAR compiler error does not occur with ARRAYED_TREE [G]. ]" class APPLICATION create make feature {NONE} -- Initialization make -- Create `my_tree' with one node and print some information! do -- create my_tree.make (3, "ROOT") -- for ARRAYED_TREE inheritance create my_tree.make ("ROOT") -- for TREES handling linked cells print ("Number of nodes in my_tree: " + my_tree.count.out + "%N") end feature {ANY} -- Access my_tree: MY_TREE [STRING_32] end === MY_TREE.e === class MY_TREE [G] inherit -- Uncomment the ancestor you want to test. -- ARRAYED_TREE [G] -- No VJAR error. LINKED_TREE [G] -- VJAR error. -- TWO_WAY_TREE [G] -- VJAR error. create make end
Problem Report Interactions