https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107721
--- Comment #3 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> --- I have a copy of the standard so I will answer my own question. This is a comment: In a situation like this: print *, [integer :: ([1.0])] ** 2 My brain wants to say reject it because 1.0 is not an integer. I will check further as I said, but yet another example to me where the standard is counter-intuitive to me. I will be even bold and say the idea of even having a typespec in this form seems, shall I say, not so bright. But, there it is.