As it was said in a few topics already (one of them) support for newer features of derived types in gfortran is not complete yet. Surely PDTs, apparently also recursive DTs.
Just curious: any use case for such a construct? At first glance it looks a bit awkward to me.