<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<TITLE>
    CWG Issue 2165</TITLE>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<STYLE TYPE="text/css">
  INS { text-decoration:none; font-weight:bold; background-color:#A0FFA0 }
  .INS { text-decoration:none; background-color:#D0FFD0 }
  DEL { text-decoration:line-through; background-color:#FFA0A0 }
  .DEL { text-decoration:line-through; background-color: #FFD0D0 }
  @media (prefers-color-scheme: dark) {
    HTML { background-color:#202020; color:#f0f0f0; }
    A { color:#5bc0ff; }
    A:visited { color:#c6a8ff; }
    A:hover, a:focus { color:#afd7ff; }
    INS { background-color:#033a16; color:#aff5b4; }
    .INS { background-color: #033a16; }
    DEL { background-color:#67060c; color:#ffdcd7; }
    .DEL { background-color:#67060c; }
  }
  SPAN.cmnt { font-family:Times; font-style:italic }
</STYLE>
</HEAD>
<BODY>
<P><EM>This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21
  Core Issues List revision 118b.
  See http://www.open-std.org/jtc1/sc22/wg21/ for the official
  list.</EM></P>
<P>2025-09-28</P>
<HR>
<A NAME="2165"></A><H4>2165.
  
Namespaces, declarative regions, and translation units
</H4>
<B>Section: </B>_N4868_.6.4.1&#160; [<A href="https://wg21.link/basic.scope.declarative">basic.scope.declarative</A>]
 &#160;&#160;&#160;

 <B>Status: </B>CD6
 &#160;&#160;&#160;

 <B>Submitter: </B>Richard Smith
 &#160;&#160;&#160;

 <B>Date: </B>2015-07-30<BR>


<P>[Accepted at the November, 2020 meeting as part of paper P1787R6 and
moved to DR at the February, 2021 meeting.]</P>



<P>The definition of &#8220;declarative region&#8221; given in
_N4868_.6.4.1 [<A href="https://wg21.link/basic.scope.declarative#1">basic.scope.declarative</A>] paragraph 1 is,</P>

<BLOCKQUOTE>

Every name is introduced in some portion of program text
called a <I>declarative region</I>, which is the largest part of
the program in which that name is valid, that is, in which
that name may be used as an unqualified name to refer to the
same entity.

</BLOCKQUOTE>

<P>According to 9.9 [<A href="https://wg21.link/basic.namespace#1">basic.namespace</A>] paragraph 1,</P>

<BLOCKQUOTE>

Unlike other declarative regions, the definition of a
namespace can be split over several parts of one or more
translation units.

</BLOCKQUOTE>

<P>This seems like a misuse of the term &#8220;declarative
region&#8221;; in particular, a name <TT>x</TT> declared in
namespace <TT>N</TT> in translation unit <TT>A</TT> cannot
be used as an unqualified name in the part of namespace
<TT>N</TT> in translation unit <TT>B</TT> unless it is also
declared in <TT>B</TT>.  See also <A HREF="1884.html">issue 1884</A>.</P>

<BR><BR>
</BODY>
</HTML>
