1! { dg-do compile } 2! 3! PR 85395: [F03] private clause contained in derived type acquires spurious scope 4! 5! Contributed by <cfd@mnet-mail.de> 6 7module defs 8 implicit none 9 10 type :: base 11 contains 12 private 13 end type 14 15 type :: options 16 procedure(), pointer, nopass :: ptr 17 end type 18 19 type :: t 20 private 21 procedure(), pointer, nopass, public :: ptr 22 end type 23end module 24 25 26program p 27 use defs 28 implicit none 29 type(options) :: self 30 type(t) :: dt 31 self%ptr => null() 32 dt%ptr => null() 33end 34