https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114438
--- Comment #1 from anlauf at gcc dot gnu.org ---
Can you be a little more explicit?
If I extend the program as follows:
type(params) :: p
p = params( 0.1, 2.0 )
write(*,*) p
p = params( 0.1, 2 )
write(*,*) p
I get with all compilers I have access to (Intel, NAG, Nvidia, flang, gfortran)
Not the structure constructor
0.100000001 4.00000000
0.100000001 2.00000000
This is what I would have naively expected in accordance with "Note 1":
The form ’name(...)’ is interpreted as a generic function-reference if
possible; it is interpreted as a structure-constructor only if it cannot
be interpreted as a generic function-reference.
which gives a precedence to function-reference over structure-constructor,
making it possible to override the default constructor.
Are you saying that one cannot override the default constructor?