When a generic procedure reference is made, a specific procedure is
invoked. If the following rules are used, the generic reference will
be unambiguous:
- Within a scoping unit, two procedures that have the same
generic name must both be subroutines (or both be functions). One
of the procedures must have a nonoptional dummy argument that is
one of the following:
- Not present by position or argument keyword in the
other argument list
- Is present, but has different type and kind parameters,
or rank
- Within a scoping unit, two procedures that have the same
generic operator must both have the same number of arguments or
both define assignment. One of the procedures must have a dummy
argument that corresponds by position in the argument list to a
dummy argument of the other procedure that has a different type
and kind parameters, or rank.
When an interface block extends an intrinsic procedure, operator,
or assignment, the rules apply as if the intrinsic consists of
a collection of specific procedures, one for each allowed set of
arguments.
When a generic procedure is accessed from a module, the rules apply
to all the specific versions, even if some of them are inaccessible
by their specific names.
For More Information:
For details on generic procedure names, see Section 8.9.3.
Previous Page Next Page Table of Contents