Created on 2014-01-28.00:00:00 last changed 1 month ago
Proposed resolution:
Change in 13.8.4.1 [temp.point] paragraph 1 as follows:
Fora function template specialization, a member function template specialization, ora specializationforof amembertemplated function orstatic data member of a class templatetemplated variable, if the specialization is implicitly instantiated because it is referenced from within another template specialization and the context from which it is referenced depends on a template parameter, the point of instantiation of the specialization is the point of instantiation of the enclosing specialization. Otherwise, the point of instantiation for such a specialization immediately follows the namespace scope declaration or definition that refers to the specialization.
Change in 13.8.4.1 [temp.point] paragraph 8 as follows:
A specializationfor a function template, a member function template, or of a member function or static data member of a class templateof a templated function or templated variable may have multiple points of instantiations within a translation unit, and ...
Additional note, July, 2017:
It has also been observed that there is no definition of the point of instantiation for an alias template. It is not clear that there is a need for normative wording for the point of instantiation of an alias template, but if not, a note explaining its absence would be helpful.
The current wording of 13.8.4.1 [temp.point] does not define the point of instantiation of a variable template specialization. Presumably replacing the references to “static data member of a class template” with “variable template” in paragraphs 1 and 8 would be sufficient.
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2025-10-18 08:56:40 | admin | set | messages: + msg8166 |
| 2025-10-18 08:56:40 | admin | set | status: drafting -> review |
| 2018-02-27 00:00:00 | admin | set | messages: + msg5916 |
| 2014-01-28 00:00:00 | admin | create | |