In stdlib we actually prefer automatic arrays where possible, even if this can lead to stack overflows with some compilers. The reason for using an allocatable return value in eye
is that the second dimension is optional and we cannot reliably declare the shape of the automatic array anymore.
2 Likes