Great discussion, keep it going.
I have a question:
Is the issue that it is assigning a single precision to double precision? So the correct way to write it would be:
complex(dp) :: z
real(dp) :: a
z = (1._dp/3, 2._dp/3)
a = real(z, dp)
Or is there another problem? If it’s just the _dp
, then that can be fixed by the compiler giving an appropriate warning, which is what we plan for LFortran.