(j3.2006) Question from Erik Kruyt

Van Snyder Van.Snyder
Fri Jul 14 18:21:05 EDT 2017


Erik Kruyt posted a question recently, having to do with implicitly-
declared variables in BLOCK constructs.  He referenced 8.7p4
[17-007r2:121:6-8].  There appears to be some nonsense there:

        The data entity is treated as if it were declared in an explicit
        type declaration; if the outermost inclusive scope in which it
        appears is not a type definition, it is declared in that scope,
        otherwise it is declared in the host of that scope.

Type parameters and components are explicitly typed.  C751 requires that
an explicit-shape spec does not depend upon a variable, so an
imnplicitly-typed variable that does not appear in the enclosing scope
cannot appear in one, and implicitly-typed named constants cannot be
declared inside a derived-type definition.

It appears that there is nothing in a derived-type definition that can
be implicitly typed, and therefore nothing that appears in a derived-
type definition can be declared in the host of the derived-type
definition.

Is there actually something that can appear in a derived-type definition
and be implicitly typed?  If not, what does the sentence mean?





More information about the J3 mailing list