This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of TS status.

### 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.