You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: xml/issue2393.xml
+84-5Lines changed: 84 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -130,9 +130,9 @@ changed resolution: Currently the following program is accepted by three popular
130
130
gcc 6 libstdc++, and clang 3.8.0 libc++:
131
131
</p>
132
132
<blockquote><pre>
133
-
#include <functional>
134
-
#include <iostream>
135
-
#include <typeinfo>
133
+
#include <functional>
134
+
#include <iostream>
135
+
#include <typeinfo>
136
136
#include "boost/function.hpp"
137
137
138
138
void foo(int) {}
@@ -244,9 +244,19 @@ pointer.
244
244
<p>Discussion whether "tentatively ready" or "review". The latter would require one more meeting. EF: We already have implementation convergence. MC: I worry about a two-meeting delay. WEB: All that being said, I'd be slightly more confident with a review since we'll have new wording, but I wouldn't object. MC: We can look at it in a telecon and move it.</p>
245
245
<p>STL reads out email to Daniel.</p>
246
246
<p>Status Review, to be moved to TR at the next telecon.</p>
247
-
</discussion>
248
247
249
-
<resolution>
248
+
<note>2016-01-31, Daniel comments and suggests less controversive resolution</note>
249
+
<p>
250
+
It seems that specifically the wording changes for <srefref="[func.wrap.func.targ]"/> p2 prevent this issue
251
+
from making make progress. Therefore the separate issue LWG <irefref="2591"/> has been created, that focuses
252
+
solely on this aspect. Furtheron the current P/R of this issue has been adjusted to the minimal possible one,
253
+
where the term "Callable" has been replaced by the new term "Lvalue-Callable".
254
+
</p>
255
+
256
+
<p>
257
+
<strong>Previous resolution II [SUPERSEDED]:</strong>
258
+
</p>
259
+
<blockquoteclass="note">
250
260
<p>This wording is relative to N4527.</p>
251
261
252
262
<ol>
@@ -312,6 +322,75 @@ pointer.
312
322
</blockquote>
313
323
</li>
314
324
</ol>
325
+
</blockquote>
326
+
</discussion>
327
+
328
+
<resolution>
329
+
<p>This wording is relative to N4567.</p>
330
+
331
+
<ol>
332
+
<li><p>Change <srefref="[func.wrap.func]"/> p2 as indicated:</p>
333
+
334
+
<blockquote><p>
335
+
-2- A callable <del>object <tt>f</tt> of</del> type <ins>(<srefref="[func.def]"/>)</ins> <tt>F</tt> is <em><ins>Lvalue-</ins>Callable</em>
336
+
for argument types <tt>ArgTypes</tt> and return type <tt>R</tt> if the expression <tt><i>INVOKE</i>(<del>f</del><ins>declval<F&>()</ins>,
337
+
declval<ArgTypes>()..., R)</tt>, considered as an unevaluated operand (Clause 5), is well formed (20.9.2).
338
+
</p></blockquote>
339
+
</li>
340
+
341
+
<li><p>Change <srefref="[func.wrap.func.con]"/> p8+p21 as indicated:</p>
342
+
343
+
<blockquote>
344
+
<pre>
345
+
template<class F> function(F f);
346
+
template <class F, class A> function(allocator_arg_t, const A& a, F f);
347
+
</pre>
348
+
<blockquote>
349
+
<p>
350
+
[…]
351
+
<p/>
352
+
-8- <i>Remarks</i>: These constructors shall not participate in overload resolution unless <tt><del>f</del><ins>F</ins></tt> is
353
+
<tt><ins>Lvalue-</ins>Callable</tt> (<srefref="[func.wrap.func]"/>) for argument types <tt>ArgTypes...</tt> and return type <tt>R</tt>.
0 commit comments