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