CWG Issue 1686 (original) (raw)
This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 117a. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.
2025-04-13
1686. Which variables are “explicitly declared const?”
Section: 6.6 [basic.link]Status: CD4Submitter: Daniel KrüglerDate: 2013-05-17
[Moved to DR at the November, 2014 meeting.]
According to 6.6 [basic.link] paragraph 3,
A name having namespace scope (6.4.6 [basic.scope.namespace]) has internal linkage if it is the name of
- ...
- a non-volatile variable that is explicitly declared const orconstexpr and neither explicitly declared extern nor previously declared to have external linkage; or
- ...
It would be more precise and less confusing if the phrase “explicitly declared const” were replaced by saying that its type is const-qualified. This change would also allow removal of the reference to constexpr, which was added byissue 1112 because constexprvariables are implicitly const-qualified but not covered by the “explicitly declared” phrasing.
Proposed resolution (September, 2013):
Change the second bullet of 6.6 [basic.link] paragraph 3 as follows:
- a
non-volatilevariablethat is explicitly declared const or constexpr andof non-volatile const-qualified type that is neither explicitly declared extern nor previously declared to have external linkage; or