Help working around finalization issue

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.

1 Like