! RUN: %python %S/test_errors.py %s %flang_fc1 ! Check F'2023 C1167 module m type :: base(kindparam, lenparam) integer, kind :: kindparam integer, len :: lenparam end type type, extends(base) :: ext1 contains procedure :: tbp end type type, extends(ext1) :: ext2 end type contains function tbp(x) class(ext1(123,*)), target :: x class(ext1(123,:)), pointer :: tbp tbp => x end subroutine test type(ext1(123,456)), target :: var select type (sel => var%tbp()) type is (ext1(123,*)) ! ok type is (ext2(123,*)) ! ok !ERROR: Type specification 'ext1(kindparam=234_4,lenparam=*)' must be an extension of TYPE 'ext1(kindparam=123_4,lenparam=:)' type is (ext1(234,*)) !ERROR: Type specification 'ext2(kindparam=234_4,lenparam=*)' must be an extension of TYPE 'ext1(kindparam=123_4,lenparam=:)' type is (ext2(234,*)) end select end end