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