]> gcc.gnu.org Git - gcc.git/blame - libstdc++-v3/doc/html/manual/bugs.html
libstdc++: Disable volatile-qualified std::bind for C++20
[gcc.git] / libstdc++-v3 / doc / html / manual / bugs.html
CommitLineData
27f36b78 1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
5fdbeb16 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Bugs</title><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="status.html" title="Chapter 1. Status" /><link rel="prev" href="license.html" title="License" /><link rel="next" href="setup.html" title="Chapter 2. Setup" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Bugs</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="license.html">Prev</a> </td><th width="60%" align="center">Chapter 1. Status</th><td width="20%" align="right"> <a accesskey="n" href="setup.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.status.bugs"></a>Bugs</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.status.bugs.impl"></a>Implementation Bugs</h3></div></div></div><p>
6ae8f77d 3 Information on known bugs, details on efforts to fix them, and
6a28a753
JW
4 fixed bugs are all available as part of the <a class="link" href="https://gcc.gnu.org/bugs/" target="_top">GCC bug tracking system</a>,
5 under the component <span class="quote">“<span class="quote">libstdc++</span>”</span>.
53b03cce 6 </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.status.bugs.iso"></a>Standard Bugs</h3></div></div></div><p>
6ae8f77d
BK
7 Everybody's got issues. Even the C++ Standard Library.
8 </p><p>
9 The Library Working Group, or LWG, is the ISO subcommittee responsible
10 for making changes to the library. They periodically publish an
11 Issues List containing problems and possible solutions. As they reach
12 a consensus on proposed solutions, we often incorporate the solution.
13 </p><p>
14 Here are the issues which have resulted in code changes to the library.
6a28a753
JW
15 The links are to the full version of the Issues List.
16 You can read the full version online
6247d6df 17 at the <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/" target="_top">ISO C++
96189df3 18 Committee homepage</a>.
6ae8f77d
BK
19 </p><p>
20 If a DR is not listed here, we may simply not have gotten to
6a28a753
JW
21 it yet; feel free to submit a patch. Search the
22 <code class="filename">include</code> and
23 <code class="filename">src</code>
24 directories for appearances of
6ae8f77d
BK
25 <code class="constant">_GLIBCXX_RESOLVE_LIB_DEFECTS</code> for examples
26 of style. Note that we usually do not make changes to the
96189df3 27 code until an issue has reached <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#DR" target="_top">DR</a> status.
6a28a753 28 </p><div class="variablelist"><dl class="variablelist"><dt><a id="manual.bugs.dr5"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#5" target="_top">5</a>:
18246ced 29 <span class="emphasis"><em>string::compare specification questionable</em></span>
6ae8f77d 30 </span></dt><dd><p>This should be two overloaded functions rather than a single function.
6a28a753 31 </p></dd><dt><a id="manual.bugs.dr17"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#17" target="_top">17</a>:
18246ced 32 <span class="emphasis"><em>Bad bool parsing</em></span>
6ae8f77d 33 </span></dt><dd><p>Apparently extracting Boolean values was messed up...
6a28a753 34 </p></dd><dt><a id="manual.bugs.dr19"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#19" target="_top">19</a>:
18246ced 35 <span class="emphasis"><em>"Noconv" definition too vague</em></span>
6ae8f77d 36 </span></dt><dd><p>If <code class="code">codecvt::do_in</code> returns <code class="code">noconv</code> there are
18246ced 37 no changes to the values in <code class="code">[to, to_limit)</code>.
6a28a753 38 </p></dd><dt><a id="manual.bugs.dr22"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#22" target="_top">22</a>:
18246ced 39 <span class="emphasis"><em>Member open vs flags</em></span>
6ae8f77d 40 </span></dt><dd><p>Re-opening a file stream does <span class="emphasis"><em>not</em></span> clear the state flags.
6a28a753 41 </p></dd><dt><a id="manual.bugs.dr23"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#23" target="_top">23</a>:
18246ced 42 <span class="emphasis"><em>Num_get overflow result</em></span>
6ae8f77d 43 </span></dt><dd><p>Implement the proposed resolution.
6a28a753 44 </p></dd><dt><a id="manual.bugs.dr25"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#25" target="_top">25</a>:
18246ced 45 <span class="emphasis"><em>String operator&lt;&lt; uses width() value wrong</em></span>
6ae8f77d 46 </span></dt><dd><p>Padding issues.
6a28a753 47 </p></dd><dt><a id="manual.bugs.dr48"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#48" target="_top">48</a>:
18246ced 48 <span class="emphasis"><em>Use of non-existent exception constructor</em></span>
6ae8f77d 49 </span></dt><dd><p>An instance of <code class="code">ios_base::failure</code> is constructed instead.
6a28a753 50 </p></dd><dt><a id="manual.bugs.dr49"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#49" target="_top">49</a>:
18246ced 51 <span class="emphasis"><em>Underspecification of ios_base::sync_with_stdio</em></span>
6ae8f77d 52 </span></dt><dd><p>The return type is the <span class="emphasis"><em>previous</em></span> state of synchronization.
6a28a753 53 </p></dd><dt><a id="manual.bugs.dr50"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#50" target="_top">50</a>:
18246ced 54 <span class="emphasis"><em>Copy constructor and assignment operator of ios_base</em></span>
6ae8f77d 55 </span></dt><dd><p>These members functions are declared <code class="code">private</code> and are
18246ced
JW
56 thus inaccessible. Specifying the correct semantics of
57 "copying stream state" was deemed too complicated.
6a28a753 58 </p></dd><dt><a id="manual.bugs.dr60"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#60" target="_top">60</a>:
18246ced 59 <span class="emphasis"><em>What is a formatted input function?</em></span>
6ae8f77d 60 </span></dt><dd><p>This DR made many widespread changes to <code class="code">basic_istream</code>
18246ced 61 and <code class="code">basic_ostream</code> all of which have been implemented.
6a28a753 62 </p></dd><dt><a id="manual.bugs.dr63"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#63" target="_top">63</a>:
18246ced 63 <span class="emphasis"><em>Exception-handling policy for unformatted output</em></span>
6ae8f77d 64 </span></dt><dd><p>Make the policy consistent with that of formatted input, unformatted
18246ced 65 input, and formatted output.
6a28a753 66 </p></dd><dt><a id="manual.bugs.dr68"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#68" target="_top">68</a>:
18246ced 67 <span class="emphasis"><em>Extractors for char* should store null at end</em></span>
6ae8f77d 68 </span></dt><dd><p>And they do now. An editing glitch in the last item in the list of
18246ced 69 [27.6.1.2.3]/7.
6a28a753 70 </p></dd><dt><a id="manual.bugs.dr74"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#74" target="_top">74</a>:
18246ced 71 <span class="emphasis"><em>Garbled text for codecvt::do_max_length</em></span>
6ae8f77d 72 </span></dt><dd><p>The text of the standard was gibberish. Typos gone rampant.
6a28a753 73 </p></dd><dt><a id="manual.bugs.dr75"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#75" target="_top">75</a>:
18246ced 74 <span class="emphasis"><em>Contradiction in codecvt::length's argument types</em></span>
6ae8f77d 75 </span></dt><dd><p>Change the first parameter to <code class="code">stateT&amp;</code> and implement
18246ced 76 the new effects paragraph.
6a28a753 77 </p></dd><dt><a id="manual.bugs.dr83"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#83" target="_top">83</a>:
18246ced 78 <span class="emphasis"><em>string::npos vs. string::max_size()</em></span>
6ae8f77d 79 </span></dt><dd><p>Safety checks on the size of the string should test against
18246ced 80 <code class="code">max_size()</code> rather than <code class="code">npos</code>.
6a28a753 81 </p></dd><dt><a id="manual.bugs.dr90"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#90" target="_top">90</a>:
18246ced 82 <span class="emphasis"><em>Incorrect description of operator&gt;&gt; for strings</em></span>
6ae8f77d 83 </span></dt><dd><p>The effect contain <code class="code">isspace(c,getloc())</code> which must be
18246ced 84 replaced by <code class="code">isspace(c,is.getloc())</code>.
6a28a753 85 </p></dd><dt><a id="manual.bugs.dr91"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#91" target="_top">91</a>:
18246ced 86 <span class="emphasis"><em>Description of operator&gt;&gt; and getline() for string&lt;&gt;
6ae8f77d
BK
87 might cause endless loop</em></span>
88 </span></dt><dd><p>They behave as a formatted input function and as an unformatted
18246ced 89 input function, respectively (except that <code class="code">getline</code> is
6ae8f77d 90 not required to set <code class="code">gcount</code>).
6a28a753 91 </p></dd><dt><a id="manual.bugs.dr103"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#103" target="_top">103</a>:
18246ced 92 <span class="emphasis"><em>set::iterator is required to be modifiable, but this allows
6ae8f77d
BK
93 modification of keys.</em></span>
94 </span></dt><dd><p>For associative containers where the value type is the same as
18246ced 95 the key type, both <code class="code">iterator</code> and <code class="code">const_iterator
6ae8f77d 96 </code> are constant iterators.
6a28a753 97 </p></dd><dt><a id="manual.bugs.dr109"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#109" target="_top">109</a>:
18246ced 98 <span class="emphasis"><em>Missing binders for non-const sequence elements</em></span>
6ae8f77d 99 </span></dt><dd><p>The <code class="code">binder1st</code> and <code class="code">binder2nd</code> didn't have an
18246ced 100 <code class="code">operator()</code> taking a non-const parameter.
6a28a753 101 </p></dd><dt><a id="manual.bugs.dr110"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#110" target="_top">110</a>:
18246ced 102 <span class="emphasis"><em>istreambuf_iterator::equal not const</em></span>
6ae8f77d 103 </span></dt><dd><p>This was not a const member function. Note that the DR says to
18246ced
JW
104 replace the function with a const one; we have instead provided an
105 overloaded version with identical contents.
6a28a753 106 </p></dd><dt><a id="manual.bugs.dr117"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#117" target="_top">117</a>:
18246ced 107 <span class="emphasis"><em>basic_ostream uses nonexistent num_put member functions</em></span>
6ae8f77d 108 </span></dt><dd><p><code class="code">num_put::put()</code> was overloaded on the wrong types.
6a28a753 109 </p></dd><dt><a id="manual.bugs.dr118"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#118" target="_top">118</a>:
18246ced 110 <span class="emphasis"><em>basic_istream uses nonexistent num_get member functions</em></span>
6ae8f77d 111 </span></dt><dd><p>Same as 117, but for <code class="code">num_get::get()</code>.
6a28a753 112 </p></dd><dt><a id="manual.bugs.dr129"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#129" target="_top">129</a>:
18246ced 113 <span class="emphasis"><em>Need error indication from seekp() and seekg()</em></span>
6ae8f77d 114 </span></dt><dd><p>These functions set <code class="code">failbit</code> on error now.
6a28a753 115 </p></dd><dt><a id="manual.bugs.dr130"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#130" target="_top">130</a>:
18246ced
JW
116 <span class="emphasis"><em>Return type of container::erase(iterator) differs for associative containers</em></span>
117 </span></dt><dd><p>Make member <code class="code">erase</code> return iterator for <code class="code">set</code>, <code class="code">multiset</code>, <code class="code">map</code>, <code class="code">multimap</code>.
6a28a753 118 </p></dd><dt><a id="manual.bugs.dr136"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#136" target="_top">136</a>:
18246ced 119 <span class="emphasis"><em>seekp, seekg setting wrong streams?</em></span>
6ae8f77d 120 </span></dt><dd><p><code class="code">seekp</code> should only set the output stream, and
18246ced 121 <code class="code">seekg</code> should only set the input stream.
6a28a753 122 </p></dd><dt><a id="manual.bugs.dr167"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#167" target="_top">167</a>:
18246ced 123 <span class="emphasis"><em>Improper use of traits_type::length()</em></span>
6ae8f77d 124 </span></dt><dd><p><code class="code">op&lt;&lt;</code> with a <code class="code">const char*</code> was
18246ced 125 calculating an incorrect number of characters to write.
6a28a753 126 </p></dd><dt><a id="manual.bugs.dr169"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#169" target="_top">169</a>:
18246ced 127 <span class="emphasis"><em>Bad efficiency of overflow() mandated</em></span>
6ae8f77d 128 </span></dt><dd><p>Grow efficiently the internal array object.
6a28a753 129 </p></dd><dt><a id="manual.bugs.dr171"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#171" target="_top">171</a>:
18246ced 130 <span class="emphasis"><em>Strange seekpos() semantics due to joint position</em></span>
6ae8f77d 131 </span></dt><dd><p>Quite complex to summarize...
6a28a753 132 </p></dd><dt><a id="manual.bugs.dr181"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#181" target="_top">181</a>:
18246ced 133 <span class="emphasis"><em>make_pair() unintended behavior</em></span>
6ae8f77d 134 </span></dt><dd><p>This function used to take its arguments as reference-to-const, now
18246ced 135 it copies them (pass by value).
6a28a753 136 </p></dd><dt><a id="manual.bugs.dr195"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#195" target="_top">195</a>:
18246ced 137 <span class="emphasis"><em>Should basic_istream::sentry's constructor ever set eofbit?</em></span>
6ae8f77d 138 </span></dt><dd><p>Yes, it can, specifically if EOF is reached while skipping whitespace.
7c1dcf50
JW
139 </p></dd><dt><a id="manual.bugs.dr206"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#206" target="_top">206</a>:
140 <span class="emphasis"><em><code class="code">operator new(size_t, nothrow)</code> may become
141 unlinked to ordinary <code class="code">operator new</code> if ordinary
142 version replaced
143 </em></span>
144 </span></dt><dd><p>The <code class="code">nothrow</code> forms of new and delete were
145 changed to call the throwing forms, handling any exception by
146 catching it and returning a null pointer.
6a28a753 147 </p></dd><dt><a id="manual.bugs.dr211"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#211" target="_top">211</a>:
18246ced 148 <span class="emphasis"><em>operator&gt;&gt;(istream&amp;, string&amp;) doesn't set failbit</em></span>
6ae8f77d 149 </span></dt><dd><p>If nothing is extracted into the string, <code class="code">op&gt;&gt;</code> now
18246ced 150 sets <code class="code">failbit</code> (which can cause an exception, etc., etc.).
6a28a753 151 </p></dd><dt><a id="manual.bugs.dr214"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#214" target="_top">214</a>:
18246ced 152 <span class="emphasis"><em>set::find() missing const overload</em></span>
6ae8f77d 153 </span></dt><dd><p>Both <code class="code">set</code> and <code class="code">multiset</code> were missing
18246ced
JW
154 overloaded find, lower_bound, upper_bound, and equal_range functions
155 for const instances.
6a28a753 156 </p></dd><dt><a id="manual.bugs.dr231"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#231" target="_top">231</a>:
18246ced 157 <span class="emphasis"><em>Precision in iostream?</em></span>
6ae8f77d 158 </span></dt><dd><p>For conversion from a floating-point type, <code class="code">str.precision()</code>
18246ced 159 is specified in the conversion specification.
6a28a753 160 </p></dd><dt><a id="manual.bugs.dr233"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#233" target="_top">233</a>:
18246ced 161 <span class="emphasis"><em>Insertion hints in associative containers</em></span>
6ae8f77d 162 </span></dt><dd><p>Implement N1780, first check before then check after, insert as close
18246ced 163 to hint as possible.
6a28a753 164 </p></dd><dt><a id="manual.bugs.dr235"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#235" target="_top">235</a>:
18246ced 165 <span class="emphasis"><em>No specification of default ctor for reverse_iterator</em></span>
6ae8f77d 166 </span></dt><dd><p>The declaration of <code class="code">reverse_iterator</code> lists a default constructor.
18246ced 167 However, no specification is given what this constructor should do.
6a28a753 168 </p></dd><dt><a id="manual.bugs.dr241"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#241" target="_top">241</a>:
18246ced 169 <span class="emphasis"><em>Does unique_copy() require CopyConstructible and Assignable?</em></span>
6ae8f77d 170 </span></dt><dd><p>Add a helper for forward_iterator/output_iterator, fix the existing
18246ced 171 one for input_iterator/output_iterator to not rely on Assignability.
6a28a753 172 </p></dd><dt><a id="manual.bugs.dr243"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#243" target="_top">243</a>:
18246ced 173 <span class="emphasis"><em>get and getline when sentry reports failure</em></span>
6ae8f77d 174 </span></dt><dd><p>Store a null character only if the character array has a non-zero size.
6a28a753 175 </p></dd><dt><a id="manual.bugs.dr251"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#251" target="_top">251</a>:
18246ced 176 <span class="emphasis"><em>basic_stringbuf missing allocator_type</em></span>
6ae8f77d 177 </span></dt><dd><p>This nested typedef was originally not specified.
6a28a753 178 </p></dd><dt><a id="manual.bugs.dr253"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#253" target="_top">253</a>:
18246ced 179 <span class="emphasis"><em>valarray helper functions are almost entirely useless</em></span>
6ae8f77d 180 </span></dt><dd><p>Make the copy constructor and copy-assignment operator declarations
18246ced 181 public in gslice_array, indirect_array, mask_array, slice_array; provide
6ae8f77d 182 definitions.
6a28a753 183 </p></dd><dt><a id="manual.bugs.dr265"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#265" target="_top">265</a>:
18246ced 184 <span class="emphasis"><em>std::pair::pair() effects overly restrictive</em></span>
6ae8f77d 185 </span></dt><dd><p>The default ctor would build its members from copies of temporaries;
18246ced 186 now it simply uses their respective default ctors.
6a28a753 187 </p></dd><dt><a id="manual.bugs.dr266"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#266" target="_top">266</a>:
18246ced 188 <span class="emphasis"><em>bad_exception::~bad_exception() missing Effects clause</em></span>
6ae8f77d 189 </span></dt><dd><p>The <code class="code">bad_</code>* classes no longer have destructors (they
18246ced 190 are trivial), since no description of them was ever given.
6a28a753 191 </p></dd><dt><a id="manual.bugs.dr271"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#271" target="_top">271</a>:
18246ced 192 <span class="emphasis"><em>basic_iostream missing typedefs</em></span>
6ae8f77d 193 </span></dt><dd><p>The typedefs it inherits from its base classes can't be used, since
18246ced 194 (for example) <code class="code">basic_iostream&lt;T&gt;::traits_type</code> is ambiguous.
6a28a753 195 </p></dd><dt><a id="manual.bugs.dr275"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#275" target="_top">275</a>:
18246ced 196 <span class="emphasis"><em>Wrong type in num_get::get() overloads</em></span>
6ae8f77d 197 </span></dt><dd><p>Similar to 118.
6a28a753 198 </p></dd><dt><a id="manual.bugs.dr280"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#280" target="_top">280</a>:
18246ced 199 <span class="emphasis"><em>Comparison of reverse_iterator to const reverse_iterator</em></span>
6ae8f77d 200 </span></dt><dd><p>Add global functions with two template parameters.
18246ced 201 (NB: not added for now a templated assignment operator)
6a28a753 202 </p></dd><dt><a id="manual.bugs.dr292"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#292" target="_top">292</a>:
18246ced 203 <span class="emphasis"><em>Effects of a.copyfmt (a)</em></span>
6ae8f77d 204 </span></dt><dd><p>If <code class="code">(this == &amp;rhs)</code> do nothing.
6a28a753 205 </p></dd><dt><a id="manual.bugs.dr300"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#300" target="_top">300</a>:
18246ced 206 <span class="emphasis"><em>List::merge() specification incomplete</em></span>
6ae8f77d 207 </span></dt><dd><p>If <code class="code">(this == &amp;x)</code> do nothing.
6a28a753 208 </p></dd><dt><a id="manual.bugs.dr303"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#303" target="_top">303</a>:
18246ced
JW
209 <span class="emphasis"><em>Bitset input operator underspecified</em></span>
210 </span></dt><dd><p>Basically, compare the input character to
211 <code class="code">is.widen(0)</code> and <code class="code">is.widen(1)</code>.
6a28a753 212 </p></dd><dt><a id="manual.bugs.dr305"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#305" target="_top">305</a>:
18246ced
JW
213 <span class="emphasis"><em>Default behavior of codecvt&lt;wchar_t, char,
214 mbstate_t&gt;::length()</em></span>
215 </span></dt><dd><p>Do not specify what <code class="code">codecvt&lt;wchar_t, char,
216 mbstate_t&gt;::do_length</code> must return.
6a28a753 217 </p></dd><dt><a id="manual.bugs.dr328"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#328" target="_top">328</a>:
18246ced
JW
218 <span class="emphasis"><em>Bad sprintf format modifier in
219 money_put&lt;&gt;::do_put()</em></span>
6ae8f77d 220 </span></dt><dd><p>Change the format string to "%.0Lf".
6a28a753 221 </p></dd><dt><a id="manual.bugs.dr365"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#365" target="_top">365</a>:
18246ced 222 <span class="emphasis"><em>Lack of const-qualification in clause 27</em></span>
6ae8f77d 223 </span></dt><dd><p>Add const overloads of <code class="code">is_open</code>.
6a28a753 224 </p></dd><dt><a id="manual.bugs.dr387"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#387" target="_top">387</a>:
18246ced 225 <span class="emphasis"><em>std::complex over-encapsulated</em></span>
6ae8f77d 226 </span></dt><dd><p>Add the <code class="code">real(T)</code> and <code class="code">imag(T)</code>
f25481f4 227 members; in C++11 mode, also adjust the existing
18246ced
JW
228 <code class="code">real()</code> and <code class="code">imag()</code> members and
229 free functions.
6a28a753 230 </p></dd><dt><a id="manual.bugs.dr389"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#389" target="_top">389</a>:
18246ced
JW
231 <span class="emphasis"><em>Const overload of valarray::operator[] returns
232 by value</em></span>
6ae8f77d 233 </span></dt><dd><p>Change it to return a <code class="code">const T&amp;</code>.
6a28a753 234 </p></dd><dt><a id="manual.bugs.dr396"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#396" target="_top">396</a>:
18246ced 235 <span class="emphasis"><em>what are characters zero and one</em></span>
6ae8f77d 236 </span></dt><dd><p>Implement the proposed resolution.
6a28a753 237 </p></dd><dt><a id="manual.bugs.dr402"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#402" target="_top">402</a>:
18246ced 238 <span class="emphasis"><em>Wrong new expression in [some_]allocator::construct</em></span>
6ae8f77d 239 </span></dt><dd><p>Replace "new" with "::new".
6247d6df 240 </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-closed.html#408" target="_top">408</a>:
18246ced
JW
241 <span class="emphasis"><em>
242 Is vector&lt;reverse_iterator&lt;char*&gt; &gt; forbidden?
243 </em></span>
53020026 244 </span></dt><dd><p>Tweak the debug-mode checks in _Safe_iterator.
6a28a753 245 </p></dd><dt><a id="manual.bugs.dr409"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#409" target="_top">409</a>:
18246ced 246 <span class="emphasis"><em>Closing an fstream should clear the error state</em></span>
6ae8f77d 247 </span></dt><dd><p>Have <code class="code">open</code> clear the error flags.
e5c422b7
JW
248 </p></dd><dt><a id="manual.bugs.dr415"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#415" target="_top">415</a>:
249 <span class="emphasis"><em>Behavior of std::ws</em></span>
250 </span></dt><dd><p>Change it to be an unformatted input function
251 (i.e. construct a sentry and catch exceptions).
6247d6df 252 </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-closed.html#431" target="_top">431</a>:
18246ced 253 <span class="emphasis"><em>Swapping containers with unequal allocators</em></span>
6ae8f77d 254 </span></dt><dd><p>Implement Option 3, as per N1599.
6a28a753 255 </p></dd><dt><a id="manual.bugs.dr432"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#432" target="_top">432</a>:
18246ced 256 <span class="emphasis"><em>stringbuf::overflow() makes only one write position
6ae8f77d
BK
257 available</em></span>
258 </span></dt><dd><p>Implement the resolution, beyond DR 169.
6a28a753 259 </p></dd><dt><a id="manual.bugs.dr434"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#434" target="_top">434</a>:
18246ced 260 <span class="emphasis"><em>bitset::to_string() hard to use</em></span>
6ae8f77d 261 </span></dt><dd><p>Add three overloads, taking fewer template arguments.
6a28a753 262 </p></dd><dt><a id="manual.bugs.dr438"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#438" target="_top">438</a>:
18246ced 263 <span class="emphasis"><em>Ambiguity in the "do the right thing" clause</em></span>
6ae8f77d 264 </span></dt><dd><p>Implement the resolution, basically cast less.
6a28a753 265 </p></dd><dt><a id="manual.bugs.dr445"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#445" target="_top">445</a>:
5d65efd4
JW
266 <span class="emphasis"><em>iterator_traits::reference unspecified for some iterator categories</em></span>
267 </span></dt><dd><p>Change <code class="code">istreambuf_iterator::reference</code> in C++11 mode.
6a28a753 268 </p></dd><dt><a id="manual.bugs.dr453"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#453" target="_top">453</a>:
18246ced 269 <span class="emphasis"><em>basic_stringbuf::seekoff need not always fail for an empty stream</em></span>
6ae8f77d 270 </span></dt><dd><p>Don't fail if the next pointer is null and newoff is zero.
6a28a753 271 </p></dd><dt><a id="manual.bugs.dr455"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#455" target="_top">455</a>:
18246ced 272 <span class="emphasis"><em>cerr::tie() and wcerr::tie() are overspecified</em></span>
6ae8f77d 273 </span></dt><dd><p>Initialize cerr tied to cout and wcerr tied to wcout.
6a28a753 274 </p></dd><dt><a id="manual.bugs.dr464"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#464" target="_top">464</a>:
18246ced 275 <span class="emphasis"><em>Suggestion for new member functions in standard containers</em></span>
6ae8f77d 276 </span></dt><dd><p>Add <code class="code">data()</code> to <code class="code">std::vector</code> and
18246ced 277 <code class="code">at(const key_type&amp;)</code> to <code class="code">std::map</code>.
6a28a753 278 </p></dd><dt><a id="manual.bugs.dr467"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#467" target="_top">467</a>:
5d65efd4
JW
279 <span class="emphasis"><em>char_traits::lt(), compare(), and memcmp()</em></span>
280 </span></dt><dd><p>Change <code class="code">lt</code>.
6a28a753 281 </p></dd><dt><a id="manual.bugs.dr508"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#508" target="_top">508</a>:
18246ced 282 <span class="emphasis"><em>Bad parameters for ranlux64_base_01</em></span>
6ae8f77d 283 </span></dt><dd><p>Fix the parameters.
6247d6df 284 </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-closed.html#512" target="_top">512</a>:
18246ced 285 <span class="emphasis"><em>Seeding subtract_with_carry_01 from a single unsigned long</em></span>
6ae8f77d 286 </span></dt><dd><p>Construct a <code class="code">linear_congruential</code> engine and seed with it.
6247d6df 287 </p></dd><dt><span class="term"><a class="link" href="../ext/lwg-closed.html#526" target="_top">526</a>:
18246ced 288 <span class="emphasis"><em>Is it undefined if a function in the standard changes in
6ae8f77d
BK
289 parameters?</em></span>
290 </span></dt><dd><p>Use &amp;value.
6a28a753 291 </p></dd><dt><a id="manual.bugs.dr538"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#538" target="_top">538</a>:
18246ced 292 <span class="emphasis"><em>241 again: Does unique_copy() require CopyConstructible
6ae8f77d
BK
293 and Assignable?</em></span>
294 </span></dt><dd><p>In case of input_iterator/output_iterator rely on Assignability of
18246ced 295 input_iterator' value_type.
6a28a753 296 </p></dd><dt><a id="manual.bugs.dr539"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#539" target="_top">539</a>:
18246ced
JW
297 <span class="emphasis"><em>partial_sum and adjacent_difference should mention
298 requirements</em></span>
4396e063 299 </span></dt><dd><p>We were almost doing the right thing, just use std::move
18246ced 300 in adjacent_difference.
6a28a753 301 </p></dd><dt><a id="manual.bugs.dr541"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#541" target="_top">541</a>:
18246ced 302 <span class="emphasis"><em>shared_ptr template assignment and void</em></span>
6ae8f77d 303 </span></dt><dd><p>Add an auto_ptr&lt;void&gt; specialization.
6a28a753 304 </p></dd><dt><a id="manual.bugs.dr543"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#543" target="_top">543</a>:
18246ced 305 <span class="emphasis"><em>valarray slice default constructor</em></span>
6ae8f77d 306 </span></dt><dd><p>Follow the straightforward proposed resolution.
6a28a753 307 </p></dd><dt><a id="manual.bugs.dr550"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#550" target="_top">550</a>:
18246ced 308 <span class="emphasis"><em>What should the return type of pow(float,int) be?</em></span>
f25481f4 309 </span></dt><dd><p>In C++11 mode, remove the pow(float,int), etc., signatures.
f8c5b542
JW
310 </p></dd><dt><a id="manual.bugs.dr581"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#581" target="_top">581</a>:
311 <span class="emphasis"><em><code class="code">flush()</code> not unformatted function</em></span>
312 </span></dt><dd><p>Change it to be a unformatted output function (i.e. construct a sentry and catch exceptions).
6a28a753 313 </p></dd><dt><a id="manual.bugs.dr586"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#586" target="_top">586</a>:
18246ced 314 <span class="emphasis"><em>string inserter not a formatted function</em></span>
6ae8f77d 315 </span></dt><dd><p>Change it to be a formatted output function (i.e. catch exceptions).
6a28a753 316 </p></dd><dt><a id="manual.bugs.dr596"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#596" target="_top">596</a>:
18246ced 317 <span class="emphasis"><em>27.8.1.3 Table 112 omits "a+" and "a+b" modes</em></span>
6ae8f77d 318 </span></dt><dd><p>Add the missing modes to fopen_mode.
6a28a753 319 </p></dd><dt><a id="manual.bugs.dr630"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#630" target="_top">630</a>:
18246ced 320 <span class="emphasis"><em>arrays of valarray</em></span>
53020026 321 </span></dt><dd><p>Implement the simple resolution.
6a28a753 322 </p></dd><dt><a id="manual.bugs.dr660"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#660" target="_top">660</a>:
18246ced 323 <span class="emphasis"><em>Missing bitwise operations</em></span>
6ae8f77d 324 </span></dt><dd><p>Add the missing operations.
6a28a753 325 </p></dd><dt><a id="manual.bugs.dr691"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#691" target="_top">691</a>:
18246ced 326 <span class="emphasis"><em>const_local_iterator cbegin, cend missing from TR1</em></span>
f25481f4 327 </span></dt><dd><p>In C++11 mode add cbegin(size_type) and cend(size_type)
18246ced 328 to the unordered containers.
6a28a753 329 </p></dd><dt><a id="manual.bugs.dr693"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#693" target="_top">693</a>:
18246ced 330 <span class="emphasis"><em>std::bitset::all() missing</em></span>
6ae8f77d 331 </span></dt><dd><p>Add it, consistently with the discussion.
6a28a753 332 </p></dd><dt><a id="manual.bugs.dr695"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#695" target="_top">695</a>:
18246ced 333 <span class="emphasis"><em>ctype&lt;char&gt;::classic_table() not accessible</em></span>
6ae8f77d 334 </span></dt><dd><p>Make the member functions table and classic_table public.
6a28a753 335 </p></dd><dt><a id="manual.bugs.dr696"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#696" target="_top">696</a>:
18246ced 336 <span class="emphasis"><em>istream::operator&gt;&gt;(int&amp;) broken</em></span>
fb8c6cc9 337 </span></dt><dd><p>Implement the straightforward resolution.
6a28a753 338 </p></dd><dt><a id="manual.bugs.dr761"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#761" target="_top">761</a>:
18246ced 339 <span class="emphasis"><em>unordered_map needs an at() member function</em></span>
f25481f4 340 </span></dt><dd><p>In C++11 mode, add at() and at() const.
6a28a753 341 </p></dd><dt><a id="manual.bugs.dr775"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#775" target="_top">775</a>:
18246ced 342 <span class="emphasis"><em>Tuple indexing should be unsigned?</em></span>
6ae8f77d 343 </span></dt><dd><p>Implement the int -&gt; size_t replacements.
6a28a753 344 </p></dd><dt><a id="manual.bugs.dr776"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#776" target="_top">776</a>:
18246ced 345 <span class="emphasis"><em>Undescribed assign function of std::array</em></span>
f25481f4 346 </span></dt><dd><p>In C++11 mode, remove assign, add fill.
6a28a753 347 </p></dd><dt><a id="manual.bugs.dr781"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#781" target="_top">781</a>:
18246ced 348 <span class="emphasis"><em>std::complex should add missing C99 functions</em></span>
f25481f4 349 </span></dt><dd><p>In C++11 mode, add std::proj.
6a28a753 350 </p></dd><dt><a id="manual.bugs.dr809"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#809" target="_top">809</a>:
18246ced 351 <span class="emphasis"><em>std::swap should be overloaded for array types</em></span>
6ae8f77d 352 </span></dt><dd><p>Add the overload.
6a28a753 353 </p></dd><dt><a id="manual.bugs.dr853"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#853" target="_top">853</a>:
18246ced 354 <span class="emphasis"><em>to_string needs updating with zero and one</em></span>
6ae8f77d 355 </span></dt><dd><p>Update / add the signatures.
6a28a753 356 </p></dd><dt><a id="manual.bugs.dr865"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#865" target="_top">865</a>:
18246ced 357 <span class="emphasis"><em>More algorithms that throw away information</em></span>
4396e063 358 </span></dt><dd><p>The traditional HP / SGI return type and value is blessed
18246ced 359 by the resolution of the DR.
6a28a753 360 </p></dd><dt><a id="manual.bugs.dr1339"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#1339" target="_top">1339</a>:
95707918
JW
361 <span class="emphasis"><em>uninitialized_fill_n should return the end of its range</em></span>
362 </span></dt><dd><p>Return the end of the filled range.
6a28a753 363 </p></dd><dt><a id="manual.bugs.dr2021"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2021" target="_top">2021</a>:
cfba236a
JW
364 <span class="emphasis"><em>Further incorrect uses of <code class="code">result_of</code></em></span>
365 </span></dt><dd><p>Correctly decay types in signature of <code class="code">std::async</code>.
6a28a753 366 </p></dd><dt><a id="manual.bugs.dr2049"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2049" target="_top">2049</a>:
5d65efd4
JW
367 <span class="emphasis"><em><code class="code">is_destructible</code> underspecified</em></span>
368 </span></dt><dd><p>Handle non-object types.
6a28a753 369 </p></dd><dt><a id="manual.bugs.dr2056"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2056" target="_top">2056</a>:
5d65efd4
JW
370 <span class="emphasis"><em>future_errc enums start with value 0 (invalid value for broken_promise)</em></span>
371 </span></dt><dd><p>Reorder enumerators.
6a28a753 372 </p></dd><dt><a id="manual.bugs.dr2059"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2059" target="_top">2059</a>:
5d65efd4
JW
373 <span class="emphasis"><em>C++0x ambiguity problem with map::erase</em></span>
374 </span></dt><dd><p>Add additional overloads.
6a28a753 375 </p></dd><dt><a id="manual.bugs.dr2062"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2062" target="_top">2062</a>:
4c86ffcc
JW
376 <span class="emphasis"><em>2062. Effect contradictions w/o no-throw guarantee of <code class="code">std::function</code> swaps</em></span>
377 </span></dt><dd><p>Add <code class="code">noexcept</code> to swap functions.
6a28a753 378 </p></dd><dt><a id="manual.bugs.dr2063"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2063" target="_top">2063</a>:
5caff414
JW
379 <span class="emphasis"><em>Contradictory requirements for string move assignment</em></span>
380 </span></dt><dd><p>Respect propagation trait for move assignment.
6a28a753 381 </p></dd><dt><a id="manual.bugs.dr2064"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2064" target="_top">2064</a>:
5caff414
JW
382 <span class="emphasis"><em>More noexcept issues in basic_string</em></span>
383 </span></dt><dd><p>Add noexcept to the comparison operators.
6a28a753 384 </p></dd><dt><a id="manual.bugs.dr2067"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2067" target="_top">2067</a>:
5d65efd4
JW
385 <span class="emphasis"><em>packaged_task should have deleted copy c'tor with const parameter</em></span>
386 </span></dt><dd><p>Fix signatures.
6a28a753 387 </p></dd><dt><a id="manual.bugs.dr2101"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2101" target="_top">2101</a>:
5d65efd4
JW
388 <span class="emphasis"><em>Some transformation types can produce impossible types</em></span>
389 </span></dt><dd><p>Use the referenceable type concept.
6a28a753 390 </p></dd><dt><a id="manual.bugs.dr2106"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2106" target="_top">2106</a>:
5d65efd4
JW
391 <span class="emphasis"><em>move_iterator wrapping iterators returning prvalues</em></span>
392 </span></dt><dd><p>Change the <code class="code">reference</code> type.
6a28a753 393 </p></dd><dt><a id="manual.bugs.dr2108"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2108" target="_top">2108</a>:
ed3caa8c
JW
394 <span class="emphasis"><em>No way to identify allocator types that always compare equal</em></span>
395 </span></dt><dd><p>Define and use <code class="code">is_always_equal</code> even for C++11.
6a28a753 396 </p></dd><dt><a id="manual.bugs.dr2118"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2118" target="_top">2118</a>:
5d65efd4
JW
397 <span class="emphasis"><em><code class="code">unique_ptr</code> for array does not support cv qualification conversion of actual argument</em></span>
398 </span></dt><dd><p>Adjust constraints to allow safe conversions.
6a28a753 399 </p></dd><dt><a id="manual.bugs.dr2127"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2127" target="_top">2127</a>:
10491e4c
JW
400 <span class="emphasis"><em>Move-construction with <code class="code">raw_storage_iterator</code></em></span>
401 </span></dt><dd><p>Add assignment operator taking an rvalue.
6a28a753 402 </p></dd><dt><a id="manual.bugs.dr2132"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2132" target="_top">2132</a>:
5d65efd4
JW
403 <span class="emphasis"><em><code class="code">std::function</code> ambiguity</em></span>
404 </span></dt><dd><p>Constrain the constructor to only accept callable types.
6a28a753 405 </p></dd><dt><a id="manual.bugs.dr2141"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2141" target="_top">2141</a>:
5d65efd4
JW
406 <span class="emphasis"><em><code class="code">common_type</code> trait produces reference types</em></span>
407 </span></dt><dd><p>Use <code class="code">decay</code> for the result type.
6a28a753 408 </p></dd><dt><a id="manual.bugs.dr2144"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2144" target="_top">2144</a>:
5d65efd4
JW
409 <span class="emphasis"><em>Missing <code class="code">noexcept</code> specification in <code class="code">type_index</code></em></span>
410 </span></dt><dd><p>Add <code class="code">noexcept</code>
6a28a753 411 </p></dd><dt><a id="manual.bugs.dr2145"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2145" target="_top">2145</a>:
5d65efd4
JW
412 <span class="emphasis"><em><code class="code">error_category</code> default constructor</em></span>
413 </span></dt><dd><p>Declare a public constexpr constructor.
6a28a753 414 </p></dd><dt><a id="manual.bugs.dr2162"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2162" target="_top">2162</a>:
5d65efd4
JW
415 <span class="emphasis"><em><code class="code">allocator_traits::max_size</code> missing <code class="code">noexcept</code></em></span>
416 </span></dt><dd><p>Add <code class="code">noexcept</code>.
6a28a753 417 </p></dd><dt><a id="manual.bugs.dr2187"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2187" target="_top">2187</a>:
5d65efd4
JW
418 <span class="emphasis"><em><code class="code">vector&lt;bool&gt;</code> is missing <code class="code">emplace</code> and <code class="code">emplace_back</code> member functions</em></span>
419 </span></dt><dd><p>Add <code class="code">emplace</code> and <code class="code">emplace_back</code> member functions.
6a28a753 420 </p></dd><dt><a id="manual.bugs.dr2192"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2192" target="_top">2192</a>:
37b204de
JW
421 <span class="emphasis"><em>Validity and return type of <code class="code">std::abs(0u)</code> is unclear</em></span>
422 </span></dt><dd><p>Move all declarations to a common header and remove the
423 generic <code class="code">abs</code> which accepted unsigned arguments.
6a28a753 424 </p></dd><dt><a id="manual.bugs.dr2196"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2196" target="_top">2196</a>:
5d65efd4
JW
425 <span class="emphasis"><em>Specification of <code class="code">is_*[copy/move]_[constructible/assignable]</code> unclear for non-referencable types</em></span>
426 </span></dt><dd><p>Use the referenceable type concept.
6a28a753 427 </p></dd><dt><a id="manual.bugs.dr2212"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2212" target="_top">2212</a>:
1b24fb4c
JW
428 <span class="emphasis"><em><code class="code">tuple_size</code> for <code class="code">const pair</code> request <code class="code">&lt;tuple&gt;</code> header</em></span>
429 </span></dt><dd><p>The <code class="code">tuple_size</code> and <code class="code">tuple_element</code>
430 partial specializations are defined in <code class="code">&lt;utility&gt;</code> which
431 is included by <code class="code">&lt;array&gt;</code>.
6a28a753 432 </p></dd><dt><a id="manual.bugs.dr2296"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2296" target="_top">2296</a>:
db625934
JW
433 <span class="emphasis"><em><code class="code">std::addressof</code> should be constexpr</em></span>
434 </span></dt><dd><p>Use <code class="code">__builtin_addressof</code> and add
435 <code class="code">constexpr</code> to <code class="code">addressof</code> for C++17 and later.
b53e4e1c
JW
436 </p></dd><dt><a id="manual.bugs.dr2306"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2306" target="_top">2306</a>:
437 <span class="emphasis"><em><code class="code">match_results::reference</code> should be <code class="code">value_type&amp;</code>, not <code class="code">const value_type&amp;</code></em></span>
438 </span></dt><dd><p>Change typedef.
6a28a753 439 </p></dd><dt><a id="manual.bugs.dr2313"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2313" target="_top">2313</a>:
5d65efd4
JW
440 <span class="emphasis"><em><code class="code">tuple_size</code> should always derive from <code class="code">integral_constant&lt;size_t, N&gt;</code></em></span>
441 </span></dt><dd><p>Update definitions of the partial specializations for const and volatile types.
6a28a753 442 </p></dd><dt><a id="manual.bugs.dr2328"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2328" target="_top">2328</a>:
09a855ae
JW
443 <span class="emphasis"><em>Rvalue stream extraction should use perfect forwarding</em></span>
444 </span></dt><dd><p>Use perfect forwarding for right operand.
6a28a753 445 </p></dd><dt><a id="manual.bugs.dr2329"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2329" target="_top">2329</a>:
5d65efd4
JW
446 <span class="emphasis"><em><code class="code">regex_match()/regex_search()</code> with <code class="code">match_results</code> should forbid temporary strings</em></span>
447 </span></dt><dd><p>Add deleted overloads for rvalue strings.
6a28a753 448 </p></dd><dt><a id="manual.bugs.dr2332"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2332" target="_top">2332</a>:
5d65efd4
JW
449 <span class="emphasis"><em><code class="code">regex_iterator/regex_token_iterator</code> should forbid temporary regexes</em></span>
450 </span></dt><dd><p>Add deleted constructors.
5fdbeb16
JW
451 </p></dd><dt><a id="manual.bugs.dr2354"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2354" target="_top">2332</a>:
452 <span class="emphasis"><em>Unnecessary copying when inserting into maps with braced-init syntax</em></span>
453 </span></dt><dd><p>Add overloads of <code class="code">insert</code> taking <code class="code">value_type&amp;&amp;</code> rvalues.
6a28a753 454 </p></dd><dt><a id="manual.bugs.dr2399"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2399" target="_top">2399</a>:
5d65efd4
JW
455 <span class="emphasis"><em><code class="code">shared_ptr</code>'s constructor from <code class="code">unique_ptr</code> should be constrained</em></span>
456 </span></dt><dd><p>Constrain the constructor to require convertibility.
6a28a753 457 </p></dd><dt><a id="manual.bugs.dr2400"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2400" target="_top">2400</a>:
5d65efd4
JW
458 <span class="emphasis"><em><code class="code">shared_ptr</code>'s <code class="code">get_deleter()</code> should use <code class="code">addressof()</code></em></span>
459 </span></dt><dd><p>Use <code class="code">addressof</code>.
6a28a753 460 </p></dd><dt><a id="manual.bugs.dr2401"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2401" target="_top">2401</a>:
5d65efd4
JW
461 <span class="emphasis"><em><code class="code">std::function</code> needs more <code class="code">noexcept</code></em></span>
462 </span></dt><dd><p>Add <code class="code">noexcept</code> to the assignment and comparisons.
6a28a753 463 </p></dd><dt><a id="manual.bugs.dr2407"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2407" target="_top">2407</a>:
5d65efd4
JW
464 <span class="emphasis"><em><code class="code">packaged_task(allocator_arg_t, const Allocator&amp;, F&amp;&amp;)</code>
465 should neither be constrained nor <code class="code">explicit</code>
466 </em></span>
467 </span></dt><dd><p>Remove <code class="code">explicit</code> from the constructor.
544be2be
JW
468 </p></dd><dt><a id="manual.bugs.dr2408"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2408" target="_top">2408</a>:
469 <span class="emphasis"><em>SFINAE-friendly
470 <code class="code">common_type</code>/<code class="code">iterator_traits</code>
471 is missing in C++14
472 </em></span>
473 </span></dt><dd><p>Make <code class="code">iterator_traits</code> empty if any of the
474 types is not present in the iterator.
475 Make <code class="code">common_type&lt;&gt;</code> empty.
6a28a753 476 </p></dd><dt><a id="manual.bugs.dr2415"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2415" target="_top">2415</a>:
5d65efd4
JW
477 <span class="emphasis"><em>Inconsistency between <code class="code">unique_ptr</code> and <code class="code">shared_ptr</code></em></span>
478 </span></dt><dd><p>Create empty an <code class="code">shared_ptr</code> from an empty
479 <code class="code">unique_ptr</code>.
6a28a753 480 </p></dd><dt><a id="manual.bugs.dr2418"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2418" target="_top">2418</a>:
5d65efd4
JW
481 <span class="emphasis"><em><code class="code">apply</code> does not work with member pointers</em></span>
482 </span></dt><dd><p>Use <code class="code">mem_fn</code> for member pointers.
6a28a753 483 </p></dd><dt><a id="manual.bugs.dr2440"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2440" target="_top">2440</a>:
5d65efd4
JW
484 <span class="emphasis"><em><code class="code">seed_seq::size()</code> should be <code class="code">noexcept</code></em></span>
485 </span></dt><dd><p>Add <code class="code">noexcept</code>.
6a28a753 486 </p></dd><dt><a id="manual.bugs.dr2441"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2441" target="_top">2441</a>:
09a855ae
JW
487 <span class="emphasis"><em>Exact-width atomic typedefs should be provided</em></span>
488 </span></dt><dd><p>Define the typedefs.
6a28a753 489 </p></dd><dt><a id="manual.bugs.dr2442"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2442" target="_top">2442</a>:
e7722f11
JW
490 <span class="emphasis"><em><code class="code">call_once()</code> shouldn't <code class="code">DECAY_COPY()</code></em></span>
491 </span></dt><dd><p>Remove indirection through call wrapper that made copies
492 of arguments and forward arguments straight to <code class="code">std::invoke</code>.
6a28a753 493 </p></dd><dt><a id="manual.bugs.dr2454"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2454" target="_top">2454</a>:
5d65efd4
JW
494 <span class="emphasis"><em>Add <code class="code">raw_storage_iterator::base()</code> member
495 </em></span>
496 </span></dt><dd><p>Add the <code class="code">base()</code> member function.
6a28a753 497 </p></dd><dt><a id="manual.bugs.dr2455"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2455" target="_top">2455</a>:
5d65efd4
JW
498 <span class="emphasis"><em>Allocator default construction should be allowed to throw
499 </em></span>
500 </span></dt><dd><p>Make <code class="code">noexcept</code> specifications conditional.
6a28a753 501 </p></dd><dt><a id="manual.bugs.dr2458"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2458" target="_top">2458</a>:
7cbadfdc
JW
502 <span class="emphasis"><em>N3778 and new library deallocation signatures
503 </em></span>
504 </span></dt><dd><p>Remove unused overloads.
6a28a753 505 </p></dd><dt><a id="manual.bugs.dr2459"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2459" target="_top">2459</a>:
5d65efd4
JW
506 <span class="emphasis"><em><code class="code">std::polar</code> should require a non-negative rho
507 </em></span>
508 </span></dt><dd><p>Add debug mode assertion.
544be2be
JW
509 </p></dd><dt><a id="manual.bugs.dr2465"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2465" target="_top">2465</a>:
510 <span class="emphasis"><em>SFINAE-friendly <code class="code">common_type</code> is nearly impossible
511 to specialize correctly and regresses key functionality
512 </em></span>
513 </span></dt><dd><p>Detect whether <code class="code">decay_t</code> changes either type
514 and use the decayed types if so.
6a28a753 515 </p></dd><dt><a id="manual.bugs.dr2466"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2466" target="_top">2466</a>:
5d65efd4
JW
516 <span class="emphasis"><em><code class="code">allocator_traits::max_size()</code> default behavior is incorrect
517 </em></span>
518 </span></dt><dd><p>Divide by the object type.
6a28a753 519 </p></dd><dt><a id="manual.bugs.dr2484"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2484" target="_top">2484</a>:
e7722f11
JW
520 <span class="emphasis"><em><code class="code">rethrow_if_nested()</code> is doubly unimplementable
521 </em></span>
522 </span></dt><dd><p>Avoid using <code class="code">dynamic_cast</code> when it would be
523 ill-formed.
85adc2ec
JW
524 </p></dd><dt><a id="manual.bugs.dr2487"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2487" target="_top">2487</a>:
525 <span class="emphasis"><em><code class="code">bind()</code> should be <code class="code">const</code>-overloaded
526 not cv-overloaded
527 </em></span>
528 </span></dt><dd><p>Deprecate volatile-qualified <code class="code">operator()</code>
529 for C++17, make it ill-formed for C++20.
0e0beddd
JW
530 </p></dd><dt><a id="manual.bugs.dr2499"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2499" target="_top">2499</a>:
531 <span class="emphasis"><em><code class="code">operator&gt;&gt;(basic_istream&amp;, CharT*)</code> makes it hard to avoid buffer overflows
532 </em></span>
533 </span></dt><dd><p>Replace <code class="code">operator&gt;&gt;(basic_istream&amp;, CharT*)</code>
534 and other overloads writing through pointers.
bb2a18a3 535 </p></dd><dt><a id="manual.bugs.dr2537"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2537" target="_top">2537</a>:
bb2a18a3
JW
536 <span class="emphasis"><em>Constructors for <code class="code">priority_queue</code> taking allocators
537 should call <code class="code">make_heap</code>
538 </em></span>
539 </span></dt><dd><p>Call <code class="code">make_heap</code>.
544be2be
JW
540 </p></dd><dt><a id="manual.bugs.dr2566"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2566" target="_top">2566</a>:
541 <span class="emphasis"><em>Requirements on the first template parameter of container adaptors
542 </em></span>
543 </span></dt><dd><p>Add static assertions to enforce the requirement.
6a28a753 544 </p></dd><dt><a id="manual.bugs.dr2583"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2583" target="_top">2583</a>:
bf56b0b8 545 <span class="emphasis"><em>There is no way to supply an allocator for <code class="code">basic_string(str, pos)</code>
86bbf15b 546 </em></span>
bb2a18a3
JW
547 </span></dt><dd><p>Add new constructor.
548 </p></dd><dt><a id="manual.bugs.dr2586"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2586" target="_top">2586</a>:
549 <span class="emphasis"><em>Wrong value category used in <code class="code">scoped_allocator_adaptor::construct()</code>
550 </em></span>
551 </span></dt><dd><p>Change internal helper for uses-allocator construction
552 to always check using const lvalue allocators.
6a28a753 553 </p></dd><dt><a id="manual.bugs.dr2684"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2684" target="_top">2684</a>:
09a855ae
JW
554 <span class="emphasis"><em><code class="code">priority_queue</code> lacking comparator typedef
555 </em></span>
556 </span></dt><dd><p>Define the <code class="code">value_compare</code> typedef.
bb2a18a3
JW
557 </p></dd><dt><a id="manual.bugs.dr2735"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2735" target="_top">2735</a>:
558 <span class="emphasis"><em><code class="code">std::abs(short)</code>,
559 <code class="code">std::abs(signed char)</code> and others should return
560 <code class="code">int</code> instead of <code class="code">double</code> in order to be
561 compatible with C++98 and C
562 </em></span>
563 </span></dt><dd><p>Resolved by the changes for
564 <a class="link" href="bugs.html#manual.bugs.dr2192">2192</a>.
6a28a753 565 </p></dd><dt><a id="manual.bugs.dr2770"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2770" target="_top">2770</a>:
6ae2ae3b
JW
566 <span class="emphasis"><em><code class="code">tuple_size&lt;const T&gt;</code> specialization is not
567 SFINAE compatible and breaks decomposition declarations
bf56b0b8 568 </em></span>
6ae2ae3b
JW
569 </span></dt><dd><p>Safely detect <code class="code">tuple_size&lt;T&gt;::value</code> and
570 only use it if valid.
6a28a753 571 </p></dd><dt><a id="manual.bugs.dr2781"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2781" target="_top">2781</a>:
4704f28e
JW
572 <span class="emphasis"><em>Contradictory requirements for <code class="code">std::function</code>
573 and <code class="code">std::reference_wrapper</code>
574 </em></span>
575 </span></dt><dd><p>Remove special handling for <code class="code">reference_wrapper</code>
576 arguments and store them directly as the target object.
6a28a753 577 </p></dd><dt><a id="manual.bugs.dr2802"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2802" target="_top">2802</a>:
4317778a
JW
578 <span class="emphasis"><em>Add noexcept to several <code class="code">shared_ptr</code> related
579 functions
580 </em></span>
581 </span></dt><dd><p>Add noexcept.
6a28a753 582 </p></dd><dt><a id="manual.bugs.dr2873"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2873" target="_top">2873</a>:
4317778a
JW
583 <span class="emphasis"><em><code class="code">shared_ptr</code> constructor requirements for a deleter
584 </em></span>
585 </span></dt><dd><p>Use rvalues for deleters.
fb3fc4bd
JW
586 </p></dd><dt><a id="manual.bugs.dr2921"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2921" target="_top">2921</a>:
587 <span class="emphasis"><em><code class="code">packaged_task</code> and type-erased allocators
588 </em></span>
589 </span></dt><dd><p>For C++17 mode, remove the constructors taking
590 an allocator argument.
6a28a753 591 </p></dd><dt><a id="manual.bugs.dr2942"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2942" target="_top">2942</a>:
4317778a
JW
592 <span class="emphasis"><em>LWG 2873's resolution missed
593 <code class="code">weak_ptr::owner_before</code>
594 </em></span>
595 </span></dt><dd><p>Add noexcept.
fb3fc4bd
JW
596 </p></dd><dt><a id="manual.bugs.dr2996"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2996" target="_top">2996</a>:
597 <span class="emphasis"><em>Missing rvalue overloads for
598 <code class="code">shared_ptr</code> operations
599 </em></span>
600 </span></dt><dd><p>Add additional constructor and cast overloads.
3e64a626
JW
601 </p></dd><dt><a id="manual.bugs.dr2993"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2993" target="_top">2993</a>:
602 <span class="emphasis"><em><code class="code">reference_wrapper&lt;T&gt;</code> conversion from <code class="code">T&amp;&amp;</code>
603 </em></span>
604 </span></dt><dd><p>Replaced the constructors with a constrained template,
605 to prevent participation in overload resolution when not valid.
606 </p></dd><dt><a id="manual.bugs.dr3074"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#3074" target="_top">3074</a>:
607 <span class="emphasis"><em>Non-member functions for <code class="code">valarray</code> should only deduce from the <code class="code">valarray</code>
608 </em></span>
609 </span></dt><dd><p>Change scalar operands to be non-deduced context, so that
610 they will allow conversions from other types to the value_type.
611 </p></dd><dt><a id="manual.bugs.dr3076"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#3076" target="_top">3076</a>:
612 <span class="emphasis"><em><code class="code">basic_string</code> CTAD ambiguity
613 </em></span>
614 </span></dt><dd><p>Change constructors to constrained templates.
f0f1121b
JW
615 </p></dd><dt><a id="manual.bugs.dr3096"></a><span class="term"><a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#3096" target="_top">3096</a>:
616 <span class="emphasis"><em><code class="code">path::lexically_relative</code> is confused by trailing slashes
617 </em></span>
618 </span></dt><dd><p>Implement the fix for trailing slashes.
53b03cce 619 </p></dd></dl></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="license.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="status.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="setup.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">License </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 2. Setup</td></tr></table></div></body></html>
This page took 1.595818 seconds and 5 git commands to generate.