Defined assignment ("interface assignment(=)") is not allowed to override
intrinsic assignments. In particular, it is invalid to override
array = scalar
array = array ! for the same rank
while it is valid to use
scalar = array
array = array ! for different ranks.
Seemingly before 2009-08-10 (cf. PR 37425) all those where rejected. However,
with that patch accidentally "array = scalar" and not "scalar = array" became
accepted.
Thus, the patch below fixes a regression in the sense that no error message is
printed with 4.5/4.6 for the invalid test case. However, the valid case was
never allowed.
Build and regtested on x86-64-linux
OK for the trunk? Does anyone want to see this backported to a branch?