! RUN: %python %S/test_errors.py %s %flang_fc1 module m1 type :: t end type contains pure subroutine s1(x) class(t), intent(in out) :: x call s2(x) call s3(x) end subroutine pure subroutine s2(x) class(t), intent(in out) :: x !ERROR: Left-hand side of assignment may not be polymorphic unless assignment is to an entire allocatable !ERROR: Left-hand side of assignment is not definable !BECAUSE: 'x' is polymorphic in a pure subprogram x = t() end subroutine pure subroutine s3(x) !ERROR: An INTENT(OUT) dummy argument of a pure subroutine may not be polymorphic class(t), intent(out) :: x end subroutine end module