2527. [fund.ts.v2] ALLOCATOR_OF for function::operator= has incorrect default

Section: 4.2.1 [fund.ts.v2::func.wrap.func.con] Status: TS Submitter: Tim Song Opened: 2015-08-04 Last modified: 2017-07-30

Priority: 3

View all other issues in [fund.ts.v2::func.wrap.func.con].

View all issues with TS status.

Discussion:

Addresses: fund.ts.v2

According to the table in 8.3 [fund.ts.v2::memory.type.erased.allocator], if no allocator argument is specified at the time of construction, the memory resource pointer used is the value of experimental::pmr::get_default_resource() at the time of construction.

Yet in 4.2.1 [fund.ts.v2::func.wrap.func.con], ALLOCATOR_OF is specified to return allocator<char>() if no allocator was specified at the time of construction, which seems incorrect, especially as the user can change the default memory resource pointer to something other than new_delete_resource().

[2015-10-26]

Daniel adjusts wording to lib. fund. v2.

[2016-11-08, Issaquah]

Adopted during NB comment resolution

Proposed resolution:

This wording is relative to N4529.

  1. Edit 4.2.1 [fund.ts.v2::func.wrap.func.con]/p2 as indicated:

    -2- In the following descriptions, let ALLOCATOR_OF(f) be the allocator specified in the construction of function f, or allocator<char>()the value of experimental::pmr::get_default_resource() at the time of the construction of f if no allocator was specified.