Inline unnamed namespaces
Section [namespace.unnamed]
Michael Wong

Created on 2009-06-29.00:00:00 last changed 144 months ago


Date: 2009-10-15.00:00:00

[Voted into WP at October, 2009 meeting.]

Date: 2009-09-15.00:00:00

Proposed resolution (September, 2009):

Change [namespace.unnamed] paragraph 1 as follows:

An unnamed-namespace-definition behaves as if it were replaced by

    inlineopt namespace unique { /* empty body */ }
    using namespace unique ;
    namespace unique { namespace-body }

where inline appears if and only if it appears in the unnamed-namespace-definition, all occurrences of unique in a translation unit are replaced by the same identifier, and this identifier differs from all other identifiers in the entire program.87 [Example:...

Date: 2009-06-29.00:00:00

In 9.8.2 [namespace.def] paragraph 1, an unnamed-namespace-definition is defined as

    inlineopt namespace { namespace-body }

However, there is no provision for the inline keyword in the expansion of unnamed namespaces in [namespace.unnamed] paragraph 1. Strictly interpreted, that would mean that the inline qualifier is ignored for unnamed namespaces.

Date User Action Args
2010-03-29 00:00:00adminsetstatus: dr -> cd2
2009-11-08 00:00:00adminsetmessages: + msg2453
2009-11-08 00:00:00adminsetstatus: tentatively ready -> dr
2009-09-29 00:00:00adminsetmessages: + msg2297
2009-09-29 00:00:00adminsetstatus: drafting -> tentatively ready
2009-06-29 00:00:00admincreate