! PR fortran/49698! { dg-do compile }subroutinefoo(x, y, z)type S
integer,pointer:: e =>null()end type S
type T
type(S),dimension(:), allocatable :: a
end type T
type(T) :: x, y
integer:: z, i
forall(i =1: z)
y%a(i)%e => x%a(i)%e
end forall
end subroutine foo