! { dg-do compile }program p
type t
integer:: n =0integer,pointer:: q =>null()end typetype(t) :: x
print*,associated(x%q)
x =f()print*,associated(x%q)containsfunctionf()result(z)! { dg-error "must be dummy, allocatable or pointer" }class(t) :: z
print*,associated(z%q)endend