2340. Replacement allocation functions declared as inline

Section: 16.4.5.6 [replacement.functions] Status: C++17 Submitter: David Majnemer Opened: 2013-10-20 Last modified: 2017-07-30

Priority: 2

View all other issues in [replacement.functions].

View all issues with C++17 status.

Discussion:

N3290 16.4.5.6 [replacement.functions]/p3 says:

The program's definitions shall not be specified as inline.

This seems to permit declarations of replacement allocation functions that are specified as inline so long as they aren't used. This behavior seems more like a bug than a feature, I propose that we do the following:

The program's definitionsdeclarations shall not be specified as inline.

[2014-02-15 Issaquah : Move to Ready]

Proposed resolution:

This wording is relative to N3797.

  1. Modify 16.4.5.6 [replacement.functions]/3 as indicated:

    -3- The program's definitions are used instead of the default versions supplied by the implementation (18.6). Such replacement occurs prior to program startup (3.2, 3.6). The program's definitionsdeclarations shall not be specified as inline. No diagnostic is required.