Skip to content

Commit e02425b

Browse files
committed
Update a paper
1 parent e4330c2 commit e02425b

File tree

1 file changed

+18
-12
lines changed

1 file changed

+18
-12
lines changed

papers/p3953.html

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<head>
33
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
44
<meta content="width=device-width, initial-scale=1, shrink-to-fit=no" name="viewport">
5-
<title>P3953R0: Rename std::runtime_format</title>
5+
<title>P3953R1: Rename std::runtime_format</title>
66
<style data-fill-with="stylesheet">/******************************************************************************
77
* Style sheet for the W3C specifications *
88
*
@@ -1563,7 +1563,7 @@
15631563
</style>
15641564
<meta content="Bikeshed version 4416b18d5, updated Tue Jan 2 15:52:39 2024 -0800" name="generator">
15651565
<link href="https://isocpp.org/favicon.ico" rel="icon">
1566-
<meta content="e1a76fdac59139852e53b4af62b23c6270a316c2" name="revision">
1566+
<meta content="e4330c2d693a8eea750d2a8dd6240b2f3b1c7938" name="revision">
15671567
<style>/* Boilerplate: style-autolinks */
15681568
.css.css, .property.property, .descriptor.descriptor {
15691569
color: var(--a-normal-text);
@@ -2086,8 +2086,8 @@
20862086
<body class="h-entry">
20872087
<div class="head">
20882088
<p data-fill-with="logo"></p>
2089-
<h1 class="p-name no-ref" id="title">P3953R0<br>Rename <code class="highlight"><c- n>std</c-><c- o>::</c-><c- n>runtime_format</c-></code></h1>
2090-
<h2 class="no-num no-toc no-ref heading settled" id="profile-and-date"><span class="content">Published Proposal, <time class="dt-updated" datetime="2025-12-28">2025-12-28</time></span></h2>
2089+
<h1 class="p-name no-ref" id="title">P3953R1<br>Rename <code class="highlight"><c- n>std</c-><c- o>::</c-><c- n>runtime_format</c-></code></h1>
2090+
<h2 class="no-num no-toc no-ref heading settled" id="profile-and-date"><span class="content">Published Proposal, <time class="dt-updated" datetime="2026-01-17">2026-01-17</time></span></h2>
20912091
<div data-fill-with="spec-metadata">
20922092
<dl>
20932093
<dt class="editor">Author:
@@ -2105,9 +2105,10 @@ <h2 class="no-num no-toc no-ref heading settled" id="profile-and-date"><span cla
21052105
<h2 class="no-num no-toc no-ref" id="contents">Table of Contents</h2>
21062106
<ol class="toc" role="directory">
21072107
<li><a href="#abstract"><span class="secno">1</span> <span class="content">Abstract</span></a>
2108-
<li><a href="#motivation"><span class="secno">2</span> <span class="content">Motivation</span></a>
2109-
<li><a href="#naming"><span class="secno">3</span> <span class="content">Proposed Naming: <code class="highlight"><c- n>std</c-><c- o>::</c-><c- n>dynamic_format</c-></code></span></a>
2110-
<li><a href="#impact"><span class="secno">4</span> <span class="content">Impact on existing code</span></a>
2108+
<li><a href="#changes0"><span class="secno">2</span> <span class="content">Changes since R0</span></a>
2109+
<li><a href="#motivation"><span class="secno">3</span> <span class="content">Motivation</span></a>
2110+
<li><a href="#naming"><span class="secno">4</span> <span class="content">Proposed Naming: <code class="highlight"><c- n>std</c-><c- o>::</c-><c- n>dynamic_format</c-></code></span></a>
2111+
<li><a href="#impact"><span class="secno">5</span> <span class="content">Impact on existing code</span></a>
21112112
<li>
21122113
<a href="#references"><span class="secno"></span> <span class="content">References</span></a>
21132114
<ol class="toc">
@@ -2122,7 +2123,12 @@ <h2 class="heading settled" data-level="1" id="abstract"><span class="secno">1.
21222123
format string checks in <code class="highlight"><c- n>std</c-><c- o>::</c-><c- n>format</c-></code>. Subsequently, <a data-link-type="biblio" href="#biblio-p3391" title="`constexpr std::format`">[P3391]</a> made <code class="highlight"><c- n>std</c-><c- o>::</c-><c- n>format</c-></code> usable in constant evaluation. As a result, <code class="highlight"><c- n>std</c-><c- o>::</c-><c- n>runtime_format</c-></code> can now be evaluated at compile time, making its name misleading. This paper
21232124
proposes renaming <code class="highlight"><c- n>std</c-><c- o>::</c-><c- n>runtime_format</c-></code> to <code class="highlight"><c- n>std</c-><c- o>::</c-><c- n>dynamic_format</c-></code> to better
21242125
reflect its semantics and avoid confusion in <code class="highlight"><c- k>constexpr</c-> </code>contexts.</p>
2125-
<h2 class="heading settled" data-level="2" id="motivation"><span class="secno">2. </span><span class="content">Motivation</span><a class="self-link" href="#motivation"></a></h2>
2126+
<h2 class="heading settled" data-level="2" id="changes0"><span class="secno">2. </span><span class="content">Changes since R0</span><a class="self-link" href="#changes0"></a></h2>
2127+
<ul>
2128+
<li data-md>
2129+
<p>Use the actual proposed name in the "after" example.</p>
2130+
</ul>
2131+
<h2 class="heading settled" data-level="3" id="motivation"><span class="secno">3. </span><span class="content">Motivation</span><a class="self-link" href="#motivation"></a></h2>
21262132
<p>The name <code class="highlight"><c- n>std</c-><c- o>::</c-><c- n>runtime_format</c-></code> was accurate when introduced in <a data-link-type="biblio" href="#biblio-p2918" title="Runtime format strings II">[P2918]</a>, as
21272133
format strings were not usable in constant evaluation. However, with the
21282134
adoption of <code class="highlight"><c- k>constexpr</c-></code> <code class="highlight"><c- n>std</c-><c- o>::</c-><c- n>format</c-></code>, the term runtime no longer reliably
@@ -2142,7 +2148,7 @@ <h2 class="heading settled" data-level="2" id="motivation"><span class="secno">2
21422148
</ul>
21432149
<p>The real distinction is not when formatting occurs, but how the format string
21442150
is provided and validated. The term runtime conflates it with evaluation time.</p>
2145-
<h2 class="heading settled" data-level="3" id="naming"><span class="secno">3. </span><span class="content">Proposed Naming: <code class="highlight"><c- n>std</c-><c- o>::</c-><c- n>dynamic_format</c-></code></span><a class="self-link" href="#naming"></a></h2>
2151+
<h2 class="heading settled" data-level="4" id="naming"><span class="secno">4. </span><span class="content">Proposed Naming: <code class="highlight"><c- n>std</c-><c- o>::</c-><c- n>dynamic_format</c-></code></span><a class="self-link" href="#naming"></a></h2>
21462152
<p>The proposed name <code class="highlight"><c- n>std</c-><c- o>::</c-><c- n>dynamic_format</c-></code> reflects the actual semantics:</p>
21472153
<ul>
21482154
<li data-md>
@@ -2155,12 +2161,12 @@ <h2 class="heading settled" data-level="3" id="naming"><span class="secno">3. </
21552161
<p>This aligns with existing terminology <code class="highlight"><c- n>std</c-><c- o>::</c-><c- n>format</c-></code> such as dynamic format
21562162
specifiers (<code class="highlight"><c- n>check_dynamic_spec</c-></code>).</p>
21572163
<p>Example with proposed name:</p>
2158-
<pre class="highlight"><c- k>constexpr</c-> <c- k>auto</c-> <c- n>f</c-><c- p>(</c-><c- n>std</c-><c- o>::</c-><c- n>string_view</c-> <c- n>fmt</c-><c- p>,</c-> <c- b>int</c-> <c- n>value</c-><c- p>)</c-> <c- p>{</c->
2159-
<c- k>return</c-> <c- n>std</c-><c- o>::</c-><c- n>format</c-><c- p>(</c-><c- n>std</c-><c- o>::</c-><c- n>runtime_format</c-><c- p>(</c-><c- n>fmt</c-><c- p>),</c-> <c- n>value</c-><c- p>);</c->
2164+
<pre class="language-c++ highlight"><c- n>constexpr</c-> <c- k>auto</c-> <c- n>f</c-><c- p>(</c-><c- n>std</c-><c- o>::</c-><c- n>string_view</c-> <c- n>fmt</c-><c- p>,</c-> <c- b>int</c-> <c- n>value</c-><c- p>)</c-> <c- p>{</c->
2165+
<c- k>return</c-> <c- n>std</c-><c- o>::</c-><c- n>format</c-><c- p>(</c-><c- n>std</c-><c- o>::</c-><c- n>dynamic_format</c-><c- p>(</c-><c- n>fmt</c-><c- p>),</c-> <c- n>value</c-><c- p>);</c->
21602166
<c- p>}</c->
21612167
</pre>
21622168
<p>This reads naturally and avoids semantic contradiction.</p>
2163-
<h2 class="heading settled" data-level="4" id="impact"><span class="secno">4. </span><span class="content">Impact on existing code</span><a class="self-link" href="#impact"></a></h2>
2169+
<h2 class="heading settled" data-level="5" id="impact"><span class="secno">5. </span><span class="content">Impact on existing code</span><a class="self-link" href="#impact"></a></h2>
21642170
<p>If this is adopted for C++26 there will be no impact on existing code since <code class="highlight"><c- n>std</c-><c- o>::</c-><c- n>runtime_format</c-></code> is a C++26 feature.</p>
21652171
</main>
21662172
<script>

0 commit comments

Comments
 (0)