I have an abstract derived type I use as a base for some concrete types. The abstract type some data that is common for all the concrete types and some deferred bindings I want to ensure get implemented by all the children. This all seams like a good use for OO Fortran.
But here is the catch:
I want to finalize the data in the abstract type. So I place a FINAL declaration in the abstract type with a dummy argument that is non-polymorphic according to the rules for a FINAL routine. But it produces a compiler error because it is illegal to declare a non-polymorphic argument of an abstract data type. Is this a compiler error or an oversight in the standard?