https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90795
--- Comment #3 from G. Steinmetz <gs...@t-online.de> --- Compiles without "final::f" or with a scalar "b" : $ cat z2.f90 module m type t contains final :: f end type type t2 type(t), allocatable :: a end type type t3 type(t2), allocatable :: b end type contains subroutine f(x) type(t) :: x end subroutine g(z) type(t3) :: z deallocate (z%b%a) end end