<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<TITLE>
    CWG Issue 1597</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="1597"></A><H4>1597.
  
Misleading <TT>constexpr</TT> example
</H4>
<B>Section: </B>9.2.6&#160; [<A href="https://wg21.link/dcl.constexpr">dcl.constexpr</A>]
 &#160;&#160;&#160;

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

 <B>Submitter: </B>John Spicer
 &#160;&#160;&#160;

 <B>Date: </B>2012-12-21<BR>


<P>[Addressed by the adoption of paper N3652 at the April, 2013 meeting.]</P>

<P>One of the examples in 9.2.6 [<A href="https://wg21.link/dcl.constexpr#3">dcl.constexpr</A>] paragraph 3 reads,</P>

<PRE>
  constexpr int prev(int x)
    { return --x; }      //<SPAN CLASS="cmnt"> error: use of decrement</SPAN>
</PRE>

<P>According to paragraph 5, this ill-formed, no diagnostic required:</P>

<BLOCKQUOTE>

For a constexpr function, if no function argument values exist such
that the function invocation substitution would produce a constant
expression (7.7 [<A href="https://wg21.link/expr.const">expr.const</A>]), the program is ill-formed; no
diagnostic required.

</BLOCKQUOTE>

<P>However, the surrounding errors in the example have required
diagnostics, potentially leading the reader to the mistaken
conclusion that this error must be diagnosed as well.  The example
should be removed or the comment updated to reflect its true status.</P>

<P><B>Proposed resolution (June, 2013):</B></P>

<P>This issue is no longer relevant after the adoption of the changes
to <TT>constexpr</TT> in paper N3652.</P>

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