Created on 2016-03-08.00:00:00 last changed 80 months ago
Notes from the December, 2016 teleconference:
The consensus was that references to specializations before the template definition is seen are not points of instantiation.
Consider:
template<typename T> struct X; extern X<int> *p; void *q = +p; // #1, complete type affects semantics via ADL template<typename T> struct X {}; X<int> x; // #2, ill-formed, X<int> is incomplete
According to the wording of issue 212, this program is ill-formed, because the single point of instantiation for X<int> is at #1, thus X<int> is an incomplete type even at #2 after the primary template has been completed.
History | |||
---|---|---|---|
Date | User | Action | Args |
2018-04-11 00:00:00 | admin | set | status: open -> drafting |
2017-02-06 00:00:00 | admin | set | messages: + msg5834 |
2016-03-08 00:00:00 | admin | create |