# N4688 Editors' Report -- Programming Languages -- C++

2017-07-30  
Richard Smith (editor) (Google Inc)  
Dawn Perchik (co-editor) (Embarcadero Technologies Inc)  
Thomas Köppe (co-editor) (Google DeepMind)  
`<cxxeditor@gmail.com>`

## Acknowledgements

Special thanks to
Jens Maurer,
Jonathan Wakely,
and Eelis van der Weegen
for performing many of the editorial fixes since N4659.

Thanks to all those who have [submitted editorial
issues](https://github.com/cplusplus/draft/wiki/How-to-submit-an-editorial-issue)
and to those who have provided pull requests with fixes.

## New papers

 * [N4687](http://wg21.link/n4687) is the current working draft for C++20. It replaces [N4659](http://wg21.link/n4659).
 * N4688 is this Editors' Report.

## Motions incorporated into working draft

### Core working group motions

CWG motion 1: [Core issue resolution](http://wg21.link/p0710r1) for 1 issue in "ready" status applied:

 * [2253](http://wg21.link/cwg2253) Unnamed bit-fields and zero-initialization

CWG motion 2: [Core issue resolutions](http://wg21.link/p0711r0) for 6 issues in "tentatively ready" status applied, resolving 8 issues:

 * [1523](http://wg21.link/cwg1523) Point of declaration in range-based for
 * [1704](http://wg21.link/cwg1704) Type checking in explicit instantiation of variable templates
 * [1728](http://wg21.link/cwg1728) Type of an explicit instantiation of a variable template (no changes, resolved by 1704)
 * [1836](http://wg21.link/cwg1836) Use of class type being defined in trailing-return-type
 * [2273](http://wg21.link/cwg2273) Inheriting constructors vs implicit default constructor
 * [2277](http://wg21.link/cwg2277) Ambiguity inheriting constructors with default arguments (no changes, resolved by 2273)
 * [2287](http://wg21.link/cwg2287) Pointer-interconvertibility in non-standard-layout unions
 * [2290](http://wg21.link/cwg2290) Unclear specification for overload resolution and deleted special member functions

CWG motion 3: [P0727R0 "Temporary objects vs temporary expressions"](http://wg21.link/p0727r0), resolving 3 core issue:

 * [943](http://wg21.link/cwg943) Is `T()` a temporary?
 * [1076](http://wg21.link/cwg1076) Value categories and lvalue temporaries
 * [1299](http://wg21.link/cwg1299) "Temporary objects" vs "temporary expressions"

CWG motion 4: [P0683R1 "Default member initializers for bit-fields"](http://wg21.link/p0683r1)

CWG motion 5: [P0704R1 "Fixing `const`-qualified pointers to members"](http://wg21.link/p0704r1)

CWG motion 6: [P0409R2 "Allow lambda capture `[=, this]`"](http://wg21.link/p0409r2)

CWG motion 7: [P0306R4 "Comma omission and comma deletion"](http://wg21.link/p0306r4)

CWG motion 8: [P0329R4 "Designated initialization"](http://wg21.link/p0329r4)

CWG motion 9: [P0428R2 "Familiar template syntax for generic lambdas"](http://wg21.link/p0428r2)

CWG motion 10: [P0702R1 "Language support for constructor template argument deduction"](http://wg21.link/p0702r1)

CWG motion 11: [P0734R0 "Concepts"](http://wg21.link/p0734r0) **with changes, see below**

CWG motion 12 applies to the Modules TS.

### Library working group motions

LWG motion 13-14 apply to the Coroutines TS.

LWG motion 15-22 apply to the Ranges TS.

LWG motion 23-29 apply to the Networking TS.

LWG motion 30 applies to the Parallelism TS.

LWG motion 31: [Library issue resolutions](http://wg21.link/p0698r0) for 12 issues in "Ready" and "Tentatively Ready" status applied:

 * [2444](http://wg21.link/lwg2444) Inconsistent complexity for `std::sort_heap`
 * [2593](http://wg21.link/lwg2593) Moved-from state of `Allocator`s
 * [2597](http://wg21.link/lwg2597) `std::log` misspecified for complex numbers
 * [2783](http://wg21.link/lwg2783) `stack::emplace()` and `queue::emplace()` should return `decltype(auto)`
 * [2932](http://wg21.link/lwg2932) Constraints on parallel algorithm implementations are underspecified
 * [2937](http://wg21.link/lwg2937) Is `equivalent("existing_thing", "not_existing_thing")` an error?
 * [2940](http://wg21.link/lwg2940) `result_of` specification also needs a little cleanup
 * [2942](http://wg21.link/lwg2942) [LWG 2873](http://wg21.link/lwg2873)'s resolution missed `weak_ptr::owner_before`
 * [2954](http://wg21.link/lwg2954) Specialization of the convenience variable templates should be prohibited
 * [2961](http://wg21.link/lwg2961) Bad postcondition for `set_default_resource`
 * [2966](http://wg21.link/lwg2966) Incomplete resolution of US 74
 * [2974](http://wg21.link/lwg2974) Diagnose out of bounds `tuple_element` / `variant_alternative`

LWG motion 32: [Library issue resolutions](http://wg21.link/p0699r0) for 2 issues in "Immediate" status applied:

 * [2901](http://wg21.link/lwg2901) `variant`s cannot properly support allocators
 * [2956](http://wg21.link/lwg2956) `filesystem::canonical()` still defined in terms of `absolute(p, base)`

LWG motion 33: [P0463R1 "Endian, just endian"](http://wg21.link/p0463r1)

LWG motion 34: [P0682R1: "Repairing elementary string conversions"](http://wg21.link/p0682r1), resolving 1 library issue:

 * [2955](http://wg21.link/lwg2955) `to_chars` / `from_chars` depend on `std::string`

LWG motion 35: [P0739R0 "Some improvements to class template argument deduction integration into the standard library"](http://wg21.link/p0739r0), resolving 2 as-yet-unnumbered library issues

LWG motion 36: [P0674R1 "Extending `make_shared` to support arrays"](http://wg21.link/p0674r1), resolving 1 library issue:

 * [2070](http://wg21.link/lwg2070) `allocate_shared` should use `allocator_traits<A>::construct`

## Notable editorial changes

### Motions

 * CWG 11: The grammar production for a `concept` definition missed the trailing `;`.
   This has been rectified editorially, reflecting the obvious intent of the committee.
   Two changes adding "concepts" to lists of entities have not been changed, because
   a concept is a template and "templates" in general were already in the relevant list.
   Several other changes were made rephrasing the wording to match the prevailing style of
   the working draft.

### Stable name changes

The "Cross references from ISO C++ 2014" section has been replaced by a
"Cross references from ISO C++ 2017" section.

## Minor editorial fixes

A log of editorial fixes made since N4659 is below. This list excludes changes
that do not affect the body text or only affect whitespace or typeface. For a
complete list including such changes (or for the actual deltas applied by these
changes), consult the [draft sources on github](https://github.com/cplusplus/draft/compare/n4659...n4687).

    commit 9b13e3785ef95f3c7ac159177a03bccd610b774b
    Author: Richard Smith <richard@metafoo.co.uk>
    Date:   Sun Jul 30 16:13:25 2017 -0700
    
        [dcl.array] Consolidate redundant, repetitive, and somewhat incorrect
        examples and notes on multidimensional arrays.
        
        Fixes #1645
    
    commit 19c63142301038e843bfd23676e036768ab35c96
    Author: S. B. Tam <cpplearner@outlook.com>
    Date:   Sun Jul 30 23:50:06 2017 +0800
    
        [expr.const] Move p7 next to p3.
    
    commit bbca26c5e79d52a1622ff0cedeb92897a1350bf9
    Author: Jens Maurer <Jens.Maurer@gmx.net>
    Date:   Wed Apr 5 20:23:15 2017 +0200
    
        [expr.type.conv] Clarify if ... otherwise ladder.
        
        Fixes #1591.
    
    commit 9f16f5ae4a54f2478d268c408100c5a005d3f278
    Author: Jens Maurer <Jens.Maurer@gmx.net>
    Date:   Sat Jul 22 00:57:55 2017 +0200
    
        [expr] Use 'possibly converted' for discarded-value expression.
        
        Fixes #1597.
    
    commit 8d7a1a767f933e917b6bb20eea3e1c5fabf1cc0c
    Author: Jens Maurer <Jens.Maurer@gmx.net>
    Date:   Wed Mar 29 20:42:39 2017 +0200
    
        [class.mfct.non-static], [class.this] Define and use cv member function.
        
        Fixes #447.
    
    commit 1314cc49a106fac2acba29e0e301343f857ba252
    Author: Casey Carter <Casey@Carter.net>
    Date:   Wed May 10 13:24:59 2017 -0700
    
        Change the return type of monotonic_buffer_resource's deleted assignment
        
        ... to monotonic_buffer_resource& for consistency with the default definition of the builtin assignment operator. This change has no normative effect, it only eliminates the inconsistency as a potential source of confusion.
        
        Since the return type of deleted functions is not observable, this change is editorial.
    
    commit c85f24dee9feb613c9454db572cd674234f3159f
    Author: Thomas Köppe <tkoeppe@google.com>
    Date:   Sat Mar 25 16:20:40 2017 +0000
    
        [string.cons] Consolidate two functions into one description
    
    commit f897604bd8cab510a843153db0133c3d5e13912f
    Author: Jens Maurer <Jens.Maurer@gmx.net>
    Date:   Sat Jul 22 00:31:23 2017 +0200
    
        [class.temporary] Remove note giving questionable implementation advice.
        
        And move the surviving part of the note to before the
        corresponding example.
        
        Fixes #1674.
    
    commit 10e4c7437ba63c2975a160e84aecffdbfafd990b
    Author: Hubert Tong <hstong@ca.ibm.com>
    Date:   Mon Jul 24 17:45:16 2017 -0400
    
        [over.call.object] Reference postfix-expression in call syntax correctly
        
        The grammar production corresponding to the call syntax has
        _postfix-expression_ as the callee operand. [over.call.object] appears
        to refer to this operand as the _primary-expression_ in the syntax.
    
    commit ad966418d82b4e5480ad390a5f75ffbf37385f37
    Author: Richard Smith <richard@metafoo.co.uk>
    Date:   Fri Jul 28 17:16:07 2017 -0700
    
        [temp] Add missing ';' to grammar for concept-definition.
        
        Despite being a normative change, this matches the overwhelmingly
        obvious intent of the committee.
        
        Fixes #1686
    
    commit afd6d4f065219067f372dafd1bb590a912775b41
    Author: Richard Smith <richard@metafoo.co.uk>
    Date:   Fri Jul 28 17:13:28 2017 -0700
    
        [temp.constr.normal] Give a proper definition for "normalization".
    
    commit 38408888321282f9c0788ec9c40e2bd2f464617b
    Author: Richard Smith <richard@metafoo.co.uk>
    Date:   Fri Jul 28 16:47:17 2017 -0700
    
        [temp.constr.order] Fix spacing in example.
    
    commit aa4b1ae864fb85377570ba9775b5d34d79772922
    Author: Richard Smith <richard@metafoo.co.uk>
    Date:   Fri Jul 28 16:42:40 2017 -0700
    
        [temp.constr.order] Clarify description of subsumption and ordering by constraints.
    
    commit 508cd59e6c9b23441ce5ed46e5012ccd1a8aed51
    Author: Richard Smith <richard@metafoo.co.uk>
    Date:   Fri Jul 28 11:24:51 2017 -0700
    
        [dcl.fct.def] Reword = default ; and = delete ; introductory text for clarity.
    
    commit 182937c038dec15efaf5521d53d06960d6f1d661
    Author: Richard Smith <richard@metafoo.co.uk>
    Date:   Fri Jul 28 11:20:18 2017 -0700
    
        [dcl.fct] Move use of "parameter-type-list" to after its definition.
        
        Split rules on function redeclarations out of rules for determining the
        type of an individual function.
    
    commit ac6360546cb1eb982cf8d2123ceb2c99a0156b95
    Author: Richard Smith <richard@metafoo.co.uk>
    Date:   Wed Jul 26 14:22:49 2017 -0700
    
        [expr.prim.req] Use grammar terms rather than undefined phrases when
        referring to kinds of *requirement*.
    
    commit ff1242c4aa50958fa0380208eb0f2c45e3a8fea2
    Author: Thomas Köppe <tkoeppe@google.com>
    Date:   Tue Jul 25 13:49:18 2017 +0100
    
        [meta.endian] Simplify wording, avoid "shall"
    
    commit 17820beb537c1576fe906228d741b64b9b2e8fc1
    Author: Richard Smith <richard@metafoo.co.uk>
    Date:   Mon Jul 24 11:22:34 2017 -0700
    
        [temp] Fix example to use valid expression in requires-clause.
    
    commit 02574b8575c200095aa281d0886a73fe58c00580
    Author: Richard Smith <richard@metafoo.co.uk>
    Date:   Mon Jul 24 00:37:34 2017 -0700
    
        [temp.inst] Tweak explanation in example.
    
    commit de236bab92922adc3c38f6fc0eb1fb4ec2a17c16
    Author: Richard Smith <richard@metafoo.co.uk>
    Date:   Mon Jul 24 00:36:24 2017 -0700
    
        [temp.inst] Fix typo 'the the'.
    
    commit a76a3886035f484866add3a12af43c3b21143aa1
    Author: Richard Smith <richard@metafoo.co.uk>
    Date:   Mon Jul 24 00:34:07 2017 -0700
    
        [temp.concept] Remove redundancy: the global scope is a namespace scope.
    
    commit 9a94a384336cb37974b3a8803dcf2424812ec854
    Author: Richard Smith <richard@metafoo.co.uk>
    Date:   Mon Jul 24 00:27:55 2017 -0700
    
        [temp.class.spec] Fix typo "the primary" -> "the primary template".
    
    commit 7240fc98453bad27eb6112ae98b0f8e8fad8e39a
    Author: Richard Smith <richard@metafoo.co.uk>
    Date:   Mon Jul 24 00:25:43 2017 -0700
    
        [temp.mem.func] Add introductory text to new example to separate it from the prior example.
    
    commit 99013e76613ec877b912b18b3ffeb9d2b1cf8f1c
    Author: Richard Smith <richard@metafoo.co.uk>
    Date:   Mon Jul 24 00:20:39 2017 -0700
    
        [expr.prim.req.compound] Switch to passive voice.
    
    commit 1f1b944f2d849974ae01a5f2c45883d8213c3653
    Author: Richard Smith <richard@metafoo.co.uk>
    Date:   Mon Jul 24 00:04:15 2017 -0700
    
        [temp.param] Switch to passive voice.
    
    commit 6568af0b4270bfc1497882a108741fa01ebeaa70
    Author: Richard Smith <richard@metafoo.co.uk>
    Date:   Sun Jul 23 23:54:34 2017 -0700
    
        [temp] Add note around example to explain what it's an example of, and
        add missing paragraph numbers.
    
    commit d37aa67b1bf795d4d98e79a9cc7ca8278608dc4f
    Author: Richard Smith <richard@metafoo.co.uk>
    Date:   Sun Jul 23 23:48:17 2017 -0700
    
        [temp] Fix confusion between two different forms of template-declaration.
        
        When the template-head is followed by a concept-definition, it is not
        technically followed by a declaration, so avoid claiming that it is.
    
    commit 4d88f30cdbb3d49019935f15340b88b79382c202
    Author: Richard Smith <richard@metafoo.co.uk>
    Date:   Sun Jul 23 23:38:15 2017 -0700
    
        [over.over] Switch to passive voice.
    
    commit 78a8901592907f8904ec824b2966414900586869
    Author: Richard Smith <richard@metafoo.co.uk>
    Date:   Sun Jul 23 23:25:18 2017 -0700
    
        [expr.prim.req.nested] Remove incorrect (out of date) note.
    
    commit ca3cb945e042dc5bf63edfeeaf6d2e42ce2a3669
    Author: Richard Smith <richard@metafoo.co.uk>
    Date:   Sun Jul 23 15:01:59 2017 -0700
    
        [expr.prim.req] Remove redundant note that repeats what the prior example just said.
    
    commit 763a125ca686aae8aaed3fd8f779bf5ad7ca1a5c
    Author: Richard Smith <richard@metafoo.co.uk>
    Date:   Sun Jul 23 14:58:25 2017 -0700
    
        [expr.prim.req] Repair meaningless "A requirement is one that [..]" phrasing.
    
    commit fcbeb9e63ad175128a1d7a9f5dc70536f5e2be81
    Author: Richard Smith <richard@metafoo.co.uk>
    Date:   Sun Jul 23 14:44:30 2017 -0700
    
        [temp.constr.atomic] Split long paragraph into three.
    
    commit 119b98d70d24612e425fb2ae1b6caffb93689b89
    Author: Jonathan Wakely <cxx@kayari.org>
    Date:   Thu Jul 20 22:30:39 2017 +0100
    
        [filebuf.virtuals] Refer to return values specified in Effects
        
        Fixes #1552
    
    commit ecad20efeaf0c244ea6a64d79484a0145a51242b
    Author: Richard Smith <richard@metafoo.co.uk>
    Date:   Thu Jul 20 09:03:27 2017 -0700
    
        [expr.mptr.oper] Rephrase wording for symmetry with P0704R1.
    
    commit 32fffbe4796ab0852f7bdf66b6d48d2e2b5e61ea
    Author: Eelis <github.com@contacts.eelis.net>
    Date:   Tue Jul 18 21:02:33 2017 +0200
    
        [iterator.synopsis, template.bitset] Add missing whitespace. (#1673)
    
    commit b7ac9558b63434daa2217b35512225bc3213ebb4
    Author: Richard Smith <richard@metafoo.co.uk>
    Date:   Sat Jul 15 15:04:54 2017 -0700
    
        [expr.const] Fix example of integral constant expression conversion to
        involve integral constant expressions.
        
        Fixes #1627.
    
    commit cd2cc5c4709f4b8295d71d9fed92f3f2b2393f77
    Author: Richard Smith <richard@metafoo.co.uk>
    Date:   Sat Jul 15 14:49:27 2017 -0700
    
        [alg.equal] Fix misapplication of P0467R2: change "no" to "an" in bullet
        3.2.
        
        Fixes #1578.
    
    commit b226afc6dcddc427668a47710d13064de23b0167
    Author: Richard Smith <richard@metafoo.co.uk>
    Date:   Sat Jul 15 14:39:03 2017 -0700
    
        [stringbuf.virtuals] Note in Returns: element that the return value for
        non-error cases is specified in the Effects: element.
        
        Fixes #1552
    
    commit b63b10a9aeb8a7ef0b3f2cbbb9a20be88f0b56b7
    Author: Jens Maurer <Jens.Maurer@gmx.net>
    Date:   Sat Jul 15 23:21:32 2017 +0200
    
        [variant.visit], [tuple.apply], [futures.task.members] add cross-references for INVOKE to [func.require]
        
        Fixes #1480.
    
    commit 8d45c56ea7224266462c6c807987676bcf35e93e
    Author: Richard Smith <richard@metafoo.co.uk>
    Date:   Sat Jul 15 14:13:14 2017 -0700
    
        Add missing index entries for 'alignas', alignof', 'noexcept'.
    
    commit 6114f86c1479a9ebf3b27fae694e9157a1a12423
    Author: Thomas Köppe <tkoeppe@google.com>
    Date:   Sat Jul 15 15:51:17 2017 -0400
    
        Move reference to LIA-1 into a new section 'Bibliography'
    
    commit 488ef200887417bfa6124896549c09447a8c2fa9
    Author: JF Bastien <github@jfbastien.com>
    Date:   Mon Jul 10 22:39:29 2017 -0400
    
        Clarify a note on cmpxchg
        
        The "thus" part absolutely does not follow from the preceding note text, and isn't even correct on its own. Since this is a note I assume this is an editorial change and doesn't need an issue.
    
    commit f268d45e51ddadcb21036185900a602c9a502413
    Author: Jonathan Wakely <cxx@kayari.org>
    Date:   Mon Jul 10 17:43:08 2017 +0100
    
        [filesystem_error.members] Rename to [fs.filesystem_error.members]
        
        Fixes #1633
    
    commit 331b6a67d4fa55d1f8d4c9eb300c4aa7ce63d27e
    Author: Jonathan Wakely <cxx@kayari.org>
    Date:   Mon Jul 10 17:41:18 2017 +0100
    
        [stringbuf.virtuals] balance parentheses in seekoff table
    
    commit 48c0e75206dc98cfcb5ea88ebe29fa8858f6448a
    Author: Jonathan Wakely <cxx@kayari.org>
    Date:   Wed Jun 28 11:42:56 2017 +0100
    
        [memory.syn] Add reinterpret_pointer_cast to synopsis
    
    commit 921ef046dc2daab44f6c7638aef3a03f85a06909
    Author: Jens Maurer <Jens.Maurer@gmx.net>
    Date:   Fri Apr 7 21:14:43 2017 +0200
    
        Replace 'encouraged' with 'should'.
        
        Consistent with ISO Directives, Part 2, encouragement for
        implementations is supposed to use 'should', not 'encouraged'.
        
        Fixes #1601.
    
    commit 89fccb39352b0c30b07272e38487dbf9fb67ed76
    Author: Eelis van der Weegen <eelis@eelis.net>
    Date:   Sat Apr 8 12:45:21 2017 +0200
    
        [temp.deduct.type] Use \cv instead of \grammarterm{cv-list}.
    
    commit 0740877e0dd13b15c411f4b8f1fc489ecffec52f
    Author: Jens Maurer <Jens.Maurer@gmx.net>
    Date:   Wed Apr 5 23:10:33 2017 +0200
    
        [string.streams], [file.streams] Use simple-template-id when naming base classes.
        
        Fixes #1551.
    
    commit 0207b6c6c40a884292a2a7ff1ea8c8a7d08b9d9f
    Author: Jens Maurer <Jens.Maurer@gmx.net>
    Date:   Wed Apr 5 21:14:24 2017 +0200
    
        Spell 'well-defined' with a hyphen when it is an adjective.
        
        Fixes #1587.
    
    commit 2044cbd25d588150bb0a19cc8df2992a88a29e1e
    Author: Richard Smith <richard-github@metafoo.co.uk>
    Date:   Sat Jul 15 11:41:57 2017 -0700
    
        [basic.def.odr] Replace mid-sentence period with "; and"
    
    commit 95ac3d662c788cdabc382509be4c273e5c80b334
    Author: lewissbaker <lewissbaker@users.noreply.github.com>
    Date:   Thu Jul 6 21:42:46 2017 +0930
    
        [stmt.if] Fix spelling mistake in 'if constexpr' wording. (#1653)
    
    commit 48da313836eb57fd8282649c6c17b50a9cb97c3a
    Author: Richard Smith <richard@metafoo.co.uk>
    Date:   Tue Jun 20 14:59:57 2017 -0700
    
        [lex.string] Remove mention of trigraphs from raw string literal example.
        
        Fixes #1635.
    
    commit 1268aa09067159b94a6f83267d0a539b81dbbdc6
    Author: Richard Smith <richard@metafoo.co.uk>
    Date:   Tue Jun 20 14:45:07 2017 -0700
    
        [meta.unary.prop] Fix typo 'remove_all_extents<T>' which should say
        'remove_all_extents_t<T>', introduced editorially in commit 79974877.
        
        Fixes #1644.
    
    commit c92319d1caf3462e1a3a745ea3947d56c974383a
    Author: Evan Wallace <onlyone@senet.com.au>
    Date:   Mon Jun 19 01:56:28 2017 +1000
    
        [basic.stc.dynamic.safety] Update cross-reference to effects of using invalid pointer values. (#1636)
        
        Updated the Note describing "invalid pointer values" to refer to [basic.stc] rather than [basic.stc.dynamic.deallocation].
        
        The relevant description of "invalid pointer values" reads:
        "Indirection through an invalid pointer value and passing an invalid pointer value to a deallocation function have undeﬁned behavior. Any other use of an invalid pointer value has implementation-deﬁned behavior."
        
        Previously the reference was correct, as this text was in [basic.stc.dynamic.deallocation]/4, but the text was moved to [basic.stc]/4 by P0137R1; without updating the reference.
        
        The Note also incorrectly claims that using an invalid pointer value is always undefined, when it can be implementation defined in certain cases, but I did not fix this in this commit; as updating the reference makes this nuance sufficiently clear.
        
        This is an editorial issue as it only changes non-normative text.
    
    commit 5eeec28487dd99e9e2441fc3e64e33b7a957a8fe
    Author: Eelis <github.com@contacts.eelis.net>
    Date:   Sat Jun 17 15:45:17 2017 +0200
    
        For 'signal-safe', refer to [support.signal], not [csignal.syn]. (#1640)
    
    commit 8c005473ba69d52314d5c399c9c9adb6429cc7ed
    Author: Zhihao Yuan <lichray@gmail.com>
    Date:   Thu May 18 11:36:43 2017 -0500
    
        [any.nonmembers] fix LWG2769 resolution
        
        Restores the changes made by #1220
    
    commit e8c2b45b618ef13843dd9fbc3e26f1520c8522a8
    Author: Jonathan Wakely <cxx@kayari.org>
    Date:   Wed May 17 23:06:18 2017 +0100
    
        [fs.dir.entry.obs] Fix position of error_code arguments
        
        Fixes #1630
    
    commit ae6271c88727c3fabe7dd8258f8687b369d83d6d
    Author: Jonathan Wakely <cxx@kayari.org>
    Date:   Thu Apr 20 23:06:37 2017 +0100
    
        [fs.filesystem.syn] Update synopsis for filesystem::absolute
    
    commit c42d836d952219eba62edf1ef47ad763b5e57a54
    Author: Eelis <github.com@contacts.eelis.net>
    Date:   Tue Apr 18 11:59:59 2017 +0200
    
        [streambuf.virt.put] Fix logic error in the specification of the overflow() effects, introduced by 0b640ed8161937d31f31e251c297b658c559a978. (#1613)
    
    commit d5c0fd378f01b1aa9710ac8f2b61a6bc79b27aa5
    Author: Eelis <github.com@contacts.eelis.net>
    Date:   Tue Apr 18 11:57:08 2017 +0200
    
        [class.protected] Add missing full stop at end of sentence. (#1614)
    
    commit 70a0afc6dfbd5699ab562ebb93b269abde2834ba
    Author: Daniel Grunwald <grunwald@axivion.com>
    Date:   Wed Apr 12 19:19:45 2017 +0200
    
        [fs.class.path] Add missing semicolon
    
    commit 6debd6037c34befdb156e805912917d154ea658f
    Author: Daniel Grunwald <grunwald@axivion.com>
    Date:   Thu Apr 6 20:47:58 2017 +0200
    
        [iomanip.syn] Fix std::setfill() template declaration
    
    commit c17b1771be3f51dcea4d7670392ba9052a33c0b1
    Author: Daniel Grunwald <grunwald@axivion.com>
    Date:   Thu Apr 6 20:37:21 2017 +0200
    
        [cmath.syn] Fix hypot(long double,long double) overload
    
    commit 578c39a0d74543a49da66483059debd7fb1316bc
    Author: Daniel Grunwald <grunwald@axivion.com>
    Date:   Thu Apr 6 20:19:21 2017 +0200
    
        [cstring.syn], [cwchar.syn] Add a bunch of missing semicolons
    
    commit 07e4d9ceea888564765a2821a0a7d883dd315acb
    Author: Richard Smith <richard@metafoo.co.uk>
    Date:   Tue Apr 11 14:19:51 2017 -0700
    
        [except.spec] Add missing '~' in comment in example.
        
        Thanks to Sergey P. Derevyago for reporting this!
    
    commit 98b39118c529e4ed72d707ba325412a61d734f16
    Author: Jens Maurer <Jens.Maurer@gmx.net>
    Date:   Tue Mar 28 21:55:42 2017 +0200
    
        [filesystems] Change '!predicate' phrasing to 'predicate is false'.
        
        Fixes #1535.
    
    commit dff391e0df8e4c8f4bb0eb74ecc6bf2578c18fd0
    Author: Jens Maurer <Jens.Maurer@gmx.net>
    Date:   Fri Mar 31 21:58:25 2017 +0200
    
        [lib] Use nullptr, not 0, for null pointer values. (#1586)
        
        Fixes #208.
    
    commit e030dc8c97ac3da75817ac4867e7c403e55de252
    Author: Jens Maurer <Jens.Maurer@gmx.net>
    Date:   Tue Mar 28 21:38:48 2017 +0200
    
        [any.cons] Use 'contained value', not 'contained object'. (#1582)
        
        Fixes #1580.
    
    commit 389cc2d957a5e9f133c631fa1c23e14bc3dc97fe
    Author: Jonathan Wakely <cxx@kayari.org>
    Date:   Tue Mar 28 16:20:44 2017 +0100
    
        [any.bad_any_cast] fix incorrect references to bad_any_access
    
    commit a0f6514c5e51714da31a6d0a7aa9a218908a3c86
    Author: Thomas Köppe <tkoeppe@google.com>
    Date:   Sun Mar 26 18:07:52 2017 +0100
    
        [locale.money.get.members] Fix missing parameter type
    
    commit 5f7e2c6f5711ba3818519ec3b3f2c84d23a8fe93
    Author: Thomas Köppe <tkoeppe@google.com>
    Date:   Sun Mar 26 17:41:45 2017 +0100
    
        [facet.ctype.char.virtuals] Add missing \pnum
    
    commit b12acc0d4aa1095ed0306e31155c1662205c2437
    Author: Thomas Köppe <tkoeppe@google.com>
    Date:   Sun Mar 26 16:44:14 2017 +0100
    
        [category.ctype] Replace unnecessary placeholder type by the usual 'see below'
    
    commit fc9599aea58a7ea7e671f9b304cc1fe3f89c2a8b
    Author: S. B. Tam <cpplearner@outlook.com>
    Date:   Sat Mar 25 20:37:39 2017 +0800
    
        [utility] Change 'nonzero' to more appropriate words. (#1575)
    
    commit 5d438d2569decb770062966bb347cc4b1eb075b0
    Author: Jens Maurer <Jens.Maurer@gmx.net>
    Date:   Thu Mar 23 22:14:14 2017 +0100
    
        [mem.poly.allocator.mem], [string.view.iterators] Replace 'method' with 'member function'.
        
        Fixes #1573.
    
    commit 6d5ac829064fb264cac2805b0e8fdf193b32b62c
    Author: Jens Maurer <Jens.Maurer@gmx.net>
    Date:   Wed Mar 22 00:25:58 2017 +0100
    
        [intro.memory] Replace undefined 'field' with 'member' in note.
        
        Fixes #1569.
    
    commit f04c1dcee22cc5f1dd6d99448f8de4da8ba31ed3
    Author: Thomas Köppe <tkoeppe@google.com>
    Date:   Fri Mar 24 23:54:54 2017 +0000
    
        [except.handle, except.spec, fs.op.temp_dir_path] Fix typos
    
