The following non-conforming code should be rejected by ifort/ifx, but currently is not:
program p type t integer :: a end type type(t) :: x data x /t(null())/ end
This is for
% ifort -V
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.2.0 Build 20210228_000000
program p type t integer :: a end type type ta real, pointer :: ptr => null() end type type(ta) :: xa type(t) :: x data x /t(null())/ allocate(xa%ptr) write(*,*)x%a end
xa%ptr is now a very small real -- LISP is nice it tells you the side effects.