PR# 19974 Current used before initialized - non-object call
Problem Report Summary
Submitter: gobobe
Category: Compiler
Priority: Low
Date: 2026/04/24
Class: Bug
Severity: Non-critical
Number: 19974
Release: 25.12.9.8922
Confidential: No
Status: Open
Responsible:
Environment: win
Synopsis: Current used before initialized - non-object call
Description
The following program is not valid. The compiler should report a VEVI error because `Current` is used before the attribute `b` of attached type is initialized in the creation procedure of class `AA`. Instead of that we get a call-on-void_target: ******************************** Thread exception ***************************** In thread Root thread 0x0 (thread id) ******************************************************************************* ------------------------------------------------------------------------------- Class / Object Routine Nature of exception Effect ------------------------------------------------------------------------------- BB f @N is_empty: <XXXXXXXXXXXXXXXX> Feature call on void target. Fail ------------------------------------------------------------------------------- BB f @N <XXXXXXXXXXXXXXXX> Routine failure. Fail ------------------------------------------------------------------------------- AA make @N <XXXXXXXXXXXXXXXX> Routine failure. Fail ------------------------------------------------------------------------------- AA root's creation <XXXXXXXXXXXXXXXX> Routine failure. Exit -------------------------------------------------------------------------------
To Reproduce
class AA
create
make
feature
make
do
{BB}.f (Current)
b := "Eiffel"
end
b: STRING
end
~~~~~~~
class BB
feature
f (a: AA)
local
b: BOOLEAN
do
b := a.b.is_empty
ensure
class
end
end
Problem Report Interactions