Polymorphisms of Parameterized Derived Extension Types Are Not Recommended
Polymorphisms of parameterized derived extension types are not recommended. They may cause problems in some cases.
For example:
module test
implicit none
type :: ty(a, b)
integer, len :: a, b
real(4) :: r1(b)
end type
type, extends (ty) :: ty1(c)
Integer, len :: c
real(4) :: r2(c)
end type
end module
program main
use test
implicit none
type (ty1(:, :, :)), allocatable :: x
allocate (ty1(3, 2, 20) :: x)
x%r1 = 1.0
x%r2 = 2.0
end program
Parent topic: Flang Compatibility