! { dg-do run }
! Test the fix for PR46897. First patch did not run this case correctly.
! Contributed by Tobias Burnus  <burnus@gcc.gnu.org>
!
module a_mod
  type :: a
    integer :: i = 99
  contains
     procedure :: a_ass
     generic :: assignment(=) => a_ass
  end type a

  type c
    type(a) :: ta
  end type c

  type :: b
    type(c) :: tc
  end type b

contains
  elemental subroutine a_ass(out, in)
    class(a), intent(INout) :: out
    type(a), intent(in)  :: in
      out%i = 2*in%i
  end subroutine a_ass
end module a_mod

program assign
  use a_mod
  type(b) :: tt
  type(b) :: tb1
  tt = tb1
  if (tt%tc%ta%i .ne. 198) STOP 1
end program assign
