PR# 19903 Cat-call wrongly reported in SCOOP mode

Problem Report Summary
Submitter: gobobe
Category: Compiler
Priority: Low
Date: 2024/01/13
Class: Bug
Severity: Non-critical
Number: 19903
Release: 23.09.10.7341
Confidential: No
Status: Analyzed
Responsible:
Environment: win
Synopsis: Cat-call wrongly reported in SCOOP mode

Description
With the example below, compiled in SCOOP mode, I get this Cat-call error message:

      Catcall detected in {PROCEDURE}.call for arg#1: expected separate TUPLE [INTEGER_32] but got TUPLE [separate INTEGER_32]

But `INTEGER_32` is expanded, so `separate INTEGER_32` and `INTEGER_32` is the same type.

--
Eric Bezault
To Reproduce
class AA

create

	make

feature

	make
		local
			b: BB [INTEGER_32]
			c: CC
		do
			create c.make
			create b.make (agent c.h)
			b.g (1)
		end

end
~~~~~~~~~~~~~~~~~~~~~~~~~~
class BB [G]

create

	make

feature

	make (a: PROCEDURE [separate G])
		do
			action := a
		end

	action: PROCEDURE [separate G]

	g (a: separate G)
		do
			action.call ([a])
		end
end
~~~~~~~~~~~~~~~~~~~~~~~~~~
class CC

create

	make

feature

	make
		do
		end

	h (a: INTEGER_32)
		do
		end

end
Problem Report Interactions
From:jfiat_es    Date:2024/03/27    Status: Analyzed    Download   
Thank you for this report,
we'll look into it.