private_type_4.f90   [plain text]


! { dg-do compile }
! PR 25093: Check that a PUBLIC function can't be of PRIVATE type
module m1

    type :: t1
        integer :: i
    end type t1

    private :: t1
    public :: f1     ! { dg-error "cannot be of PRIVATE type" }

contains

    type(t1) function f1()
    end function

end module

! { dg-final { cleanup-modules "m1" } }