<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<TITLE>
    CWG Issue 1192</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="1192"></A><H4>1192.
  
Inadvertent change to ODR and templates
</H4>
<B>Section: </B>6.3&#160; [<A href="https://wg21.link/basic.def.odr">basic.def.odr</A>]
 &#160;&#160;&#160;

 <B>Status: </B>C++11
 &#160;&#160;&#160;

 <B>Submitter: </B>Daniel Kr&#252;gler
 &#160;&#160;&#160;

 <B>Date: </B>2010-09-03<BR>


<P>[Voted into the WP at the March, 2011 meeting as part of paper N3262.]</P>



<P>
<A HREF="678.html">Issue 678</A> added a bullet to the list
in 6.3 [<A href="https://wg21.link/basic.def.odr#5">basic.def.odr</A>] paragraph 5, inadvertently removing the
second bullet from the reach of the part of that paragraph that
reads,</P>

<BLOCKQUOTE>

If <TT>D</TT> is a template and is defined in more than one translation unit,
then the last four requirements from the list above shall apply to
names from the template's enclosing scope used in the template
definition (_N4868_.13.8.4 [<A href="https://wg21.link/temp.nondep">temp.nondep</A>]),

</BLOCKQUOTE>

<P>In fixing this error, the wording should be recast to be more
robust in the face of possible further edits to the list (i.e., not
just changing &#8220;four&#8221; to &#8220;five&#8221;).</P>

<P><B>Proposed resolution (November, 2010) [SUPERSEDED]:</B></P>

<P>Change 6.3 [<A href="https://wg21.link/basic.def.odr#5">basic.def.odr</A>] paragraph 5 as follows:</P>

<BLOCKQUOTE>

...If <TT>D</TT> is a template and is defined in more than one
translation unit, then the <DEL>last four</DEL> <INS>preceding</INS>
requirements <DEL>from the list above</DEL> shall apply
<INS>both</INS> to names from the template's enclosing scope used in
the template definition (_N4868_.13.8.4 [<A href="https://wg21.link/temp.nondep">temp.nondep</A>]), and also to
dependent names at the point of instantiation (13.8.3 [<A href="https://wg21.link/temp.dep">temp.dep</A>])...

</BLOCKQUOTE>

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