This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of NAD status.
Section: 16.4.6.4 [global.functions] Status: NAD Submitter: Morwenn Opened: 2017-02-04 Last modified: 2017-03-14
Priority: Not Prioritized
View all other issues in [global.functions].
View all issues with NAD status.
Discussion:
Section 16.4.6.5 [member.functions] makes it clear that standard library implementers are allowed to "replace a member function with default arguments with two or more member functions with equivalent behavior". However, it is unclear when reading 16.4.6.4 [global.functions] whether implementers are allowed to perform the same transformation for non-member functions. 16.4.6.4 [global.functions] p3 mentions that "an implementation shall not declare a non-member function signature with additional default arguments", but does not explicitly forbid to replace a function with default arguments with more functions with equivalent behavior.
The standard should make it clear whether such a transformation is conforming or not, probably through a note [global.functions]. Link to the Standard Discussion forum.[2017-03-04, Kona]
We believe that [member.functions]p2 is clear.
Proposed resolution: