Title
Make new entities and names in namespace std conforming extensions
Status
nad
Section
[conforming]
Submitter
Chandler Carruth

Created on 2014-03-22.00:00:00 last changed 108 months ago

Messages

Date: 2015-05-22.19:00:31

[ Lenexa 2015-05-06: Move to NAD ]

JY: It's a design question, move to LEWG?

AM: NAD: extensions led to us being unable to use the names hash_map, leading to unordered_map etc. Will result in collisions between members.

MC: Agrees, implementations that extend std:: must use __ugly_names for this reason.

JY: I would not oppose NAD.

Move to NAD, consensus.

Date: 2014-03-22.00:00:00

Technically, right now, it is not a conforming extension to add a new function to namespace std. Doing so could cause unqualified lookup on the name of that function in the presence of a using directive to find a different function. This seems an unreasonable restriction on library vendors providing conforming extensions, as such a using directive seems inherently risky in unqualified name lookup.

[member.functions] implies that adding overloads to a method is a conforming extension, and within some limits the same is true for global functions due to [global.functions].

It would likely be useful to specify that other new entities are valid conforming extensions, or preclude them where they pose serious compatibility problems.

History
Date User Action Args
2015-05-22 19:00:31adminsetmessages: + msg7432
2015-05-22 19:00:31adminsetstatus: new -> nad
2014-03-22 00:00:00admincreate