Determining When Procedures Require Explicit Interfaces
A procedure must have an explicit interface in the following cases:
- If the procedure has any of the following:
- An optional dummy argument
- A dummy argument that is an assumed-shape array, a
pointer, or a target
- A result that is array-valued or a pointer (functions
only)
- A result whose length is neither assumed nor a constant
(character functions only)
- If a reference to the procedure appears as follows:
- With an argument keyword
- As a reference by its generic name
- As a defined assignment (subroutines only)
- In an expression as a defined operator (functions only)
- In a context that requires it to be pure
- If the procedure is elemental
For More Information: