\documentclass[nocolor,memo]{j3}
\renewcommand{\hdate}{10 January 2004}
\renewcommand{\vers}{J3/04-207}
\usepackage{lineno}
\usepackage{longtable}
\usepackage{xr}
\externaldocument{007}
\input pdftest
\begin{document}
\vspace{-10pt}
\begin{tabbing}
Subject: \hspace*{0.25in}\=Allow a USE statement inside of a type definition\\
From: \>Van Snyder\\
Reference: \>03-258r1, section 2.14.4\\
\end{tabbing}
\pagewiselinenumbers
\leftlinenumbers
\linenumbers*
\section*{Number}
TBD
\section*{Title}
Allow a USE statement inside of a type definition.
\section*{Submitted By}
J3
\section*{Status}
For consideration.
\section*{Basic Functionality}
Allow a USE statement inside of a type definition.
\section*{Rationale}
One occasionally needs to reference something gotten by use association
from inside of a type definition. In Fortran 95 the only possibility is
a named constant, but in Fortran 2003 it will also make sense to want to
access procedures. If the type definition is at module scope, then the
USE is too. When processing module information, many processors read the
module information for any USEs encountered at module scope, instead of
putting that information in the using module's module information file
(which would have the potential to cause enormous module information
files). But they don't usually read module information for modules
accessed by USE statements that aren't at module scope. So if we could
put a USE statement inside of the type definition, we could potentially
speed up some compiles.
\section*{Estimated Impact}
Minor.
\section*{Detailed Specification}
Allow a USE statement inside of a type definition.
\section*{History}
\label{lastpage}
\end{document}