N3938 Editor's Report

2014-03-02
Stefanus Du Toit
Thalmic Labs
<cxxeditor@gmail.com>

Acknowledgements

Thank you to the editing committee, consisting of Alisdair Meredith, Bjarne Stroustrup, Daniel Krügler, Jeffrey Yasskin, and Mike Miller, for their review of the DIS.

Special thanks to Dawn Perchik, Richard Smith, and Walter Brown for applying edits corresponding to motions to the draft working paper.

Special thanks to Jonathan Wakely for applying many editorial fixes.

Thanks to all those who have submitted editorial issues.

New Papers

Notable Changes to Issues and Papers as Moved

CWG Motion 1

CWG1740 NB CA-27 Disambiguation of noexcept

Fix mismatched parentheses in proposed resolution. To avoid ending the sentence with two right parens, replace the unmatched opening paren with a comma.

CWG1762 NB CH-6 Reserved identifier used in literal-operator-id example

CWG1762 was fixed more comprehensively and correctly through an editorial fix.

CWG Motion 6

CWG1787 NB GB-2 Uninitialized unsigned char values.

Removed second and subsequent references to [basic.fundamental] for definition of unsigned narrow character type.

LWG Motion 1

LWG2291 std::hash is vulnerable to collision DoS attack.

In LWG Motion 1, this issue was listed with the incorrect number LWG2141, but the correct title and link.

LWG Motion 3

LWG2188 Reverse iterator does not fully support targets that overload operator&.

Don't remove the parentheses around the operand of addressof.

LWG2193 Default constructors for standard library containers are explicit.

Add comma after "For the default constructor" x4.

LWG Motion 4

LWG2329 regex_match()/regex_search() with match_results should forbid temporary strings

No context was given as to where precisely these declarations should be inserted. I added them immediately following their non-deleted equivalents.

LWG Motion 5

N3924 Discouraging rand() in C++14, v2

Use a different format for the comment next to random_shuffle in [algorithms.general] than the one suggested in the paper for consistency with similar deprecated declarations.

SG1 Motions 1 and 2

N3891 and LWG2288 conflicted and were merged together by renaming std::shared_mutex to std::shared_timed_mutex in places where LWG2288 added it.

Other Notable Editorial Changes:

The value of __cplusplus was updated to 201402L.

Minor Editorial Fixes

A log of all editorial fixes made since N3797 is below:

commit 0e3329c43829c7b4c9d7d7c5fd0382c8849ee5b9
Author: Stefanus Du Toit <stefanus.dutoit@thalmic.com>
Date:   Sat Mar 1 11:04:08 2014 -0500

    [using.linkage] Fix reference to C standard section.

commit 5f7cb43828f48667b01d3bfb8a9d28bf6185c48b
Author: Jonathan Wakely <cxx@kayari.org>
Date:   Thu Feb 20 11:01:21 2014 +0000

    [container.requirements.general] Remove semi-colons in container.reversible.requirements table.

commit 82c34a787d65b413ee09beaf4d0c00f7be6299a2
Author: Cassio Neri <cassio.neri@gmail.com>
Date:   Fri Feb 14 20:42:00 2014 +0000

    [deque.cons] Clarified the complexity of deque's iterator range constructor.

commit 9c9f5a9703b2a6d9e374d426ed71dd27779bf9ac
Author: Cassio Neri <cassio.neri@gmail.com>
Date:   Fri Feb 14 20:11:53 2014 +0000

    [lower.bound] Fixed formating of "Complexity" clause.

    [upper.bound], [equal.range], [binary.search], [forwardlist.ops] Likewise.

commit fb95f5e4d0b2835d01fe9a80dfdd69310935d1d2
Author: Cassio Neri <cassio.neri@gmail.com>
Date:   Fri Feb 14 19:45:25 2014 +0000

    [support.initlist.access] Fixed case of "Complexity" clause.

    [string.capacity], [string.access], [string::swap], [string.accessors],
    [array.special], [map.access], [rand.util.seedseq], [valarray.members],
    [slice.access], [re.regex.swap], [re.results.swap] Likewise.

commit 5ea41c7532e75669a33e7d74c5e395e5a554e3b1
Author: Cassio Neri <cassio.neri@gmail.com>
Date:   Fri Feb 14 01:32:13 2014 +0000

    [func.wrap.func.con] Added a missing period.

commit 3a76870d1783a7a76ce3306adf9a3b6e22f5d16d
Author: Cassio Neri <cassio.neri@gmail.com>
Date:   Wed Feb 12 04:48:42 2014 +0000

    [array.overview] Added std:: to the definition of array::reverse_iterator.

commit a53b21195e3d65ad04e68b4718a9306626f8789a
Author: Cassio Neri <cassio.neri@gmail.com>
Date:   Thu Jan 23 23:19:22 2014 +0000

    [input.iterators] Fixed format of range (a,b) in first line of iterator.input.requirements table.

commit 9fe876152792f974a4b4591cab0965d6e78efcbf
Author: Cassio Neri <cassio.neri@gmail.com>
Date:   Sun Dec 29 16:40:28 2013 -0200

    [container.requirements.general] Added missing "u" to "u.get_allocator()" in containers.allocatoraware table.

commit 4541f4882d261dd35ef1455f44533b2cb93e8d27
Author: Cassio Neri <cassio.neri@gmail.com>
Date:   Sun Dec 29 16:36:18 2013 -0200

    [container.requirements.general] Added missing row separator in container.reversible.requirements table.

commit 5c3aa4edacc8818847fa79fc81124bda5ece83e0
Author: Cassio Neri <cassio.neri@gmail.com>
Date:   Sun Dec 29 10:28:58 2013 -0200

    [input.iterators] Fixed formatting in requirements table.

commit e8c3acc5747df05f5285faab937cea0c21f8dac1
Author: Cassio Neri <cassio.neri@gmail.com>
Date:   Sat Dec 21 16:03:19 2013 -0200

    [tuple.creation] Added missing ... in description of tie.

commit cda2ad1bfcd86ce322726e00d3cc727f3dce20b9
Author: Dawn Perchik <dperchik@embarcadero.com>
Date:   Tue Feb 18 21:26:43 2014 -0800

    Fix bad reference in commit 041f5cce (NB CA-20 Capturing function parameter packs CWG1662).

commit ccdc75b8bc2750a5a04a4612085877a75b256213
Author: Walter E Brown <webrown.cpp@gmail.com>
Date:   Sun Feb 16 06:45:49 2014 -0800

    Consistently employ _t suffixes when mentioning any type trait's
    resulting type.

commit c6f3f6a53b406949a16fded1f29fda044fae43e8
Author: Walter E Brown <webrown.cpp@gmail.com>
Date:   Fri Feb 14 20:58:38 2014 -0800

    [temp.mem.class]  "class member" -> "member class"

commit 24e43df09f8a44663a5d5647456f2ce50aa37f1d
Author: Dawn Perchik <dperchik@embarcadero.com>
Date:   Fri Feb 14 20:12:19 2014 -0800

    [basic.stc.dynamic] Don't italicize "deallocated storage".

commit 942d83916832804c6f3910441eb65ae169fff20f
Author: Stefanus Du Toit <stefanus.dutoit@thalmic.com>
Date:   Fri Feb 14 16:26:04 2014 -0800

    [over.literal] Fix examples of valid/invalid user-defined literal suffixes.

    Don't consider a reserved suffix as "OK, but reserved" since we say
    in [lex.ext] that it's ill-formed to use one.

    Include examples of literal suffixes that use/subtly-don't-use reserved
    names according to [global.names].

    Add a missing case: C language linkage.

commit 4dee0e4bc092d424dbab3636b4d2e1aaf0a0b56e
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Thu Feb 13 18:27:17 2014 -0800

    [basic.scope.namespace] Fix singular/plural mismatch.

commit e7a1156c99592cff33e3002622c504873434bd57
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Thu Feb 13 18:24:19 2014 -0800

    [dcl.init.list] Correct typo "orresponding".

commit 66f9c9960884970dccafe6f09fe0c941b114f6f8
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Thu Feb 13 18:07:30 2014 -0800

    [temp.expl.spec] Clarify contexts in which locations of partial and
    explicit specialization are relevant.

commit 3d2c8fa1bcd7133371e4354fe1c0480f890e74ce
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Thu Feb 13 09:19:44 2014 -0800

    [basic.stc.dynamic] Fix an error that was introduced editorially:
    the implicitly-declared 'operator delete' functions are explicitly
    'noexcept'.

commit 156687aa67f165708bd3fe2b72b8513bbf48857f
Author: Richard Smith <richard@metafoo.co.uk>
Date:   Tue Jul 30 11:13:36 2013 -0700

    Editorial change missing from resolution DR739: update note to reflect
    that plain bit-fields are signed exactly when their underlying type is
    signed.

commit 119648e8bb82ced6a9909fd55b6a704b13d3e322
Author: Jonathan Wakely <cxx@kayari.org>
Date:   Mon Feb 10 17:56:45 2014 +0000

    [refwrap.helpers] Add missing whitespace.

commit dbc071dbcab42dc900a7e051f4ea723849c8f40b
Author: Jonathan Wakely <cxx@kayari.org>
Date:   Thu Feb 6 14:47:48 2014 +0000

    [alg.remove] Fix typo.

    Reported by Andrzej Krzemieński. Closes #265

commit 1ac32b6326ba8f3c3401da742982a28c40d0c74f
Author: FrankHB <frankhb1989@gmail.com>
Date:   Sun Feb 2 15:57:00 2014 +0800

    Fix typo in [ios.members.static]

    No argument should be used to call 'sbumpc'.

commit 133fe686d505608e4aa0b1c796e0c5995bfc47b5
Author: Jonathan Wakely <cxx@kayari.org>
Date:   Tue Jan 21 19:24:49 2014 +0000

    [re.synopt] Use code font for match_results.

commit ae32ff40759156cda59aebb1861c17c3880e4d8b
Author: Jonathan Wakely <cxx@kayari.org>
Date:   Tue Jan 21 13:38:19 2014 +0000

    [pair.astuple] Give names to function parameters.

    Reported by Stephan T. Lavavej. Closes #231.

commit f8d22fcef08ae28545163a67a364ae7e511ff481
Author: Jonathan Wakely <cxx@kayari.org>
Date:   Tue Jan 21 13:18:48 2014 +0000

    [pair.astuple] Undo reference to tuple_element_t.

    Reported by Michael Park. Closes #247.

commit 80d639630c79069a05de5b6125cb46b571392c1e
Author: Jonathan Wakely <cxx@kayari.org>
Date:   Tue Jan 21 13:06:52 2014 +0000

    [util.smartptr.shared.const]/33 Add whitespace

    Reported by Stephan T. Lavavej. Closes #249.

commit 9c099e2279f10574436463397b1dfa8fd84ba86c
Author: Jonathan Wakely <cxx@kayari.org>
Date:   Tue Jan 21 12:59:14 2014 +0000

    [pointer.traits.functions] Add paragraph numbers.

    Reported by Stephan T. Lavavej. Closes #258.

commit f48b9fa1cdf24228d7111f14768fdaf8f1fd700f
Author: Jonathan Wakely <cxx@kayari.org>
Date:   Tue Jan 21 12:49:55 2014 +0000

    [func.bind.isbind]/2 says "have a BaseCharacteristics"

    Reported by Stephan T. Lavavej.

commit 51d13444d77989b246be3d0ad5053bc984d6ed16
Merge: e31867c fa81508
Author: Jonathan Wakely <github@kayari.org>
Date:   Tue Jan 21 05:04:39 2014 -0800

    Merge pull request #253 from faithandbrave/fix_basic_string_replace_typo

    [string::replace]/35 Add missing `returns` command

    Reported by Akira Takahashi.

commit fa815085bf94be319577317ca1ea637bb9631808
Author: Akira Takahashi <faithandbrave@gmail.com>
Date:   Fri Dec 27 14:06:16 2013 +0900

    basic_string::replace description : fix missing words.

commit 68b6319a074f98dc54a8cbb0fa101ba284c062f9
Author: robdesbois <rob.desbois@gmail.com>
Date:   Mon Nov 11 13:24:36 2013 +0000

    Editorial fix - additional instances of 'an shared state'

commit 1fee18fdbeb86aec2b5940c9ef831da97598b3f8
Author: Jonathan Wakely <cxx@kayari.org>
Date:   Thu Nov 7 23:04:08 2013 +0000

    [re.traits] Add whitespace in getloc()const

commit 94c8fc71888d5e548410a573fac85535d5790d8a
Author: Jonathan Wakely <github@kayari.org>
Date:   Thu Nov 7 11:54:44 2013 +0000

    [dcl.ref] Fix "specificer" typo

    Reported by Stephan T. Lavavej. Fixes #227.

commit 345b11601f0e9435babf2a37c68aee6a6b3dad21
Author: Rob Desbois <robert.desbois@hp.com>
Date:   Thu Nov 7 10:10:32 2013 +0000

    Editorial: fix typo 'an shared state' -> 'a shared state'

commit 97370f7a588be3b09755e5449754e38feeb41368
Author: Zhihao Yuan <lichray@gmail.com>
Date:   Thu Oct 31 13:40:45 2013 -0400

    Fixes unformatted "N" in "array of N T".

    Found another place with the same issue.  I believe code formatting
    should be used for these cases, because an italics N is usually
    followed by definition of the N.


commit bf25f90d1701af8e756d987b170d3a5d016d59f3
Author: Agustín Bergé <k@fusionfenix.com>
Date:   Tue Oct 29 22:40:32 2013 -0500

    Fixed typo

    Replaced `’` resulting in artifact in the pdf by `'`.

commit 5d7bf7a28016b0b43690f90c9006358f20b86b90
Author: Jonathan Wakely <cxx@kayari.org>
Date:   Tue Oct 29 16:43:00 2013 +0000

    [util.smartptr.ownerless] should not be nested below [util.smartptr.weak]

commit de1eb1ecd1c155bf30cb35002f4da4f4ebf87a35
Author: Zhihao Yuan <lichray@gmail.com>
Date:   Mon Sep 30 23:21:37 2013 -0400

    Remove some glitchy spaces.

commit ce016c64dc86a031c3529a840edfcd09a3f60e9b
Author: Jonathan Wakely <cxx@kayari.org>
Date:   Wed Oct 16 10:42:42 2013 +0100

    [re.results.const] Remove caveat for impossible condition.

    Reported by Stephan T. Lavavej. Fixes #220

commit 6ee6278bb18c53362b25814b87cf8fb8f36c5498
Author: Jonathan Wakely <cxx@kayari.org>
Date:   Wed Oct 16 10:40:43 2013 +0100

    [except.nested] Add missing paragraph number.

    Reported by Stephan T. Lavavej. Fixes #219

commit 71b19d4b276d2538a190a33ca2f3df7d71239610
Author: Jonathan Wakely <cxx@kayari.org>
Date:   Wed Oct 16 10:38:30 2013 +0100

    [list.ops] Fix "an exception in thrown by" typo.

    Reported by Stephan T. Lavavej. Fixes #218

commit 4a1744f90c58a8c67f8b208ef2ec0fce382499ac
Author: Stefanus Du Toit <sjdutoit@gmail.com>
Date:   Tue Oct 15 13:51:22 2013 -0400

    Add missing closing angle bracket.

commit fbba354ec0d7bc6ef8fc0c27f7fb035fcd1b1ff4
Author: Stefanus Du Toit <sjdutoit@gmail.com>
Date:   Tue Oct 15 13:49:33 2013 -0400

    Fix unterminated \tcode.

commit c28252a5ba5f62344f4ca62517c647a98eef2699
Author: Stefanus Du Toit <sjdutoit@gmail.com>
Date:   Tue Oct 15 09:59:00 2013 -0400

    Fixes to a few problems introduced by reverting optional, arrays of runtime bound, and dynarray.

     - add [intseq] back to utilities library summary
     - [dcl.array] add back fix to formatting in example
     - [headers] fix count and list of headers

    Thank you greatly to Guilliam Xavier who spotted and provided initial patches for these!

commit 0f62810d978858baecc44826d7f220a53606e9ef
Author: Stefanus Du Toit <sjdutoit@gmail.com>
Date:   Mon Oct 14 10:48:12 2013 -0400

    [rand.util.seedseq]/8 Move Throws clause to its proper location.

commit 724b4eb62820414bc79c35c90825481d7c0f3c59
Author: Stefanus Du Toit <sjdutoit@gmail.com>
Date:   Mon Oct 14 10:36:16 2013 -0400

    LWG2013 Apply correct wording from N3788 instead of N3754.