https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121139

            Bug ID: 121139
           Summary: rejects selector that is a type-bound function
                    reference invoked on an associate name
           Product: gcc
           Version: 15.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: damian at archaeologic dot codes
  Target Milestone: ---

% cat julienne_test_diagnosis_m.F90 

module julienne_test_description_m
  implicit none

  type test_description_t
  contains
    procedure :: contains_text
  end type

  interface
    elemental module function contains_text(self)
      implicit none
      class(test_description_t), intent(in) :: self
      logical contains_text
    end function
  end interface

end module

% gfortran -c julienne_test_diagnosis_m.F90 
% cat main.F90

  use julienne_test_description_m
  implicit none
  associate(test_descriptions => [test_description_t()])
    associate(substring_in_test_diagnosis => test_descriptions%contains_text())
    end associate
  end associate
end

% gfortran -c main.F90
main.F90:4:45:

    4 |     associate(substring_in_test_diagnosis =>
test_descriptions%contains_text())
      |                                             1
Error: Invalid association target at (1)
main.F90:6:5:

    6 |   end associate
      |     1
Error: Expecting END PROGRAM statement at (1)
main.F90:3:34:

    3 |   associate(test_descriptions => [test_description_t()])
      |                                  1
Error: Cannot convert TYPE(test_description_t) to
TYPE(__vtype_julienne_test_description_m_Test_description_t) at (1)
main.F90:3:55:

    3 |   associate(test_descriptions => [test_description_t()])
      |                                                       1
Error: Symbol 'test_descriptions' at (1) has no IMPLICIT type

% gfortran --version
GNU Fortran (Homebrew GCC 15.1.0) 15.1.0

Reply via email to