Sure,
here is a cases were PDT are used to create dynamic arrays of various types (fortiche/src/collections/src/list/intrinsic_list.f90 at 2be73be10fc76d26d65f6f0459e1954613b5ea38 · davidpfister/fortiche · GitHub). From my experience, they work fine when you use the kind
parameter but are very buggy when you use the length
parameter. PDT with kind
could be useful for refactoring @amasaki203 unsigned integer library for instance.
Things start to get messy when you want to use assumed type PDT as dummy arguments. Every time I tried, gfortran could not resolve the procedure signature.
Even with compilers that correctly implements the length
parameter, the performance do not seem to be there: Working with parameterised derived type containing array of parameterised derived type - #18 by nncarlson
I experienced it myself when I tried to write a version of Differentia with PDT rather than allocatables. The performances were disappointing to say the least.