! 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