[associative.reqmts.general],[unord.req.general] Fix cross-references to [container.alloc.reqmts] and [container.reqmts]#7249
Conversation
… to [container.alloc.reqmts] and [container.reqmts] Both paragraphs incorrectly point to [container.reqmts] instead of [container.alloc.reqmts] for "the requirements of an allocator-aware container". Both paragraphs state "the requirements placed on `value_type` in [container.alloc.reqmts]" apply instead to `key_type` and `mapped_type`" for `map`, `multimap`, `set`, and `multiset`. This would be nonsense, since those containers never allocate or (or allocator-construct) `key_type` or `map_type` objects: _do_ allocator-construct `value_type` objects. The examples in each paragraph also make the error obvious: there are no `CopyAssignable` requirements in [container.alloc.reqmts]. I suspect these pairs of xrefs in each paragraph were transposed sometime in the past and we just haven't noticed.
|
We may want to defer this to LWG first: I don't see any other wording that prohibits |
Yes, d09a77e fixed another case of this. The subclause [container.alloc.requirements] was added by 93ff092, before that they didn't have their own subclause, so referring to [container.reqmts] was correct. |
Changing "the requirements placed on
which still implicitly requires |
|
Thanks for clarifying! |
Both paragraphs incorrectly point to [container.reqmts] instead of [container.alloc.reqmts] for "the requirements of an allocator-aware container".
Both paragraphs state "the requirements placed on
value_typein [container.alloc.reqmts] apply instead tokey_typeandmapped_type" formap,multimap,set, andmultiset. This would be nonsense, since those containers never allocate or (or allocator-construct)key_typeormap_typeobjects: do allocator-constructvalue_typeobjects. The examples in each paragraph also make the error obvious: there are noCopyAssignablerequirements in [container.alloc.reqmts].I suspect these pairs of xrefs in each paragraph were transposed sometime in the past and we just haven't noticed.