Consider the attached program.
In 14.0.1.139 I get the following error for line 231:
error #7145: This object must not be used as the pointer-object or target of a pointer-assignment-stmt in a PURE procedure or an internal procedure contained in a PURE procedure. [UH_LIST] D:\source\VS Projects\IsThisPure\IsThisPure\IsThisPure.f90 231
However, 15.0.0.108 compiles this without errors.
I'm inclined to think that 14.0.1.139 is correct in rejecting this, following my interpretation of section 6.10 of Metcalf, Reid & Cohen, Modern Fortran Explained (further rules iv)). Is this correct?