To define interface specifications for pure procedures, the following
constraints are added to Rule R1204 in Section 12.3.2.1 of the Fortran 90
standard (defining interface-body):
- An interface-body of a pure procedure must specify
the intents of all dummy arguments except POINTER and procedure
arguments.
The procedure characteristics defined by an interface body must be
consistent with the procedure's definition.
Regarding pure procedures, this is interpreted as follows:
- A procedure that is declared pure at its definition may be
declared pure in an interface body, but this is not required.
- A procedure that is not declared pure at its definition must
not be declared pure in an interface body.
That is, if an interface body contains a PURE attribute, then the
corresponding procedure definition must also contain it, though the
reverse is not true.
When a procedure definition with a PURE attribute
is compiled, the compiler may check that it satisfies the necessary
constraints.