MODULE TESTMOD_1 implicit none type tMatFP real(8) :: XMDEN(1,2) !! real(8) :: XMDEN(2) ! XMDEN(2) ! no error in case of 1-d array end type tMatFP ! --------------------------------------------------------------------------------------- ! tFlowPath ! --------------------------------------------------------------------------------------- type tFlowPath type(tMatFP),pointer :: MatFP(:) end type tFlowPath type(tMatFP),pointer :: MatFP(:) END MODULE TESTMOD_1 PROGRAM BUG_TEST use TESTMOD_1 implicit none type(tFlowPath), pointer :: thisFP type(tFlowPath), pointer :: FlowPath(:) real(8), pointer :: XMTRN(:) allocate(FlowPath(2)) thisFP => FlowPath(1) ! example allocate(thisFP%MatFP(3)) thisFP%MatFP(1)%XMDEN(1,2) = 1.0 thisFP%MatFP(2)%XMDEN(1,2) = 2.0 thisFP%MatFP(3)%XMDEN(1,2) = 3.0 !! XMTRN => thisFP%MatFP(:)%XMDEN(2) ! no compiler error here write (*,*) thisFP%MatFP(:)%XMDEN(1,2) XMTRN => thisFP%MatFP(:)%XMDEN(1,2) ! compiler error here stop end