Title
Clarification of explicit instantiation of non-exported templates
Status
tc1
Section
Clause [13] [temp]
Submitter
Daveed Vandevoorde

Created on 1998-07-10.00:00:00 last changed 263 months ago

Messages

Date: 1999-04-15.00:00:00

Proposed Resolution (04/99): Change the text in Clause 13 [temp] paragraph 8 from:

A non-exported template that is neither explicitly specialized nor explicitly instantiated must be defined in every translation unit in which it is implicitly instantiated (13.9.2 [temp.inst] ) or explicitly instantiated (13.9.3 [temp.explicit] ); no diagnostic is required.
to:
A non-exported template must be defined in every translation unit in which it is implicitly instantiated (13.9.2 [temp.inst] ), unless the corresponding specialization is explicitly instantiated (13.9.3 [temp.explicit] ) in some translation unit; no diagnostic is required. [Note: See also 13.9.3 [temp.explicit] ]
Date: 2022-11-20.07:54:16

Section Clause 13 [temp] paragraph 8 says:

A non-exported template that is neither explicitly specialized nor explicitly instantiated must be defined in every translation unit in which it is implicitly instantiated (13.9.2 [temp.inst] ) or explicitly instantiated (13.9.3 [temp.explicit] ); no diagnostic is required.
Shouldn't the first underlined phrase be omitted to avoid conflict with the second underlined phrase?

From John Spicer:

The first "explicitly instantiated" is intended to mean "explicitly instantiated in some other translation unit".

Proposed Resolution (04/99): Change the text in Clause 13 [temp] paragraph 8 from:

A non-exported template that is neither explicitly specialized nor explicitly instantiated must be defined in every translation unit in which it is implicitly instantiated (13.9.2 [temp.inst] ) or explicitly instantiated (13.9.3 [temp.explicit] ); no diagnostic is required.
to:
A non-exported template must be defined in every translation unit in which it is implicitly instantiated (13.9.2 [temp.inst] ), unless the corresponding specialization is explicitly instantiated (13.9.3 [temp.explicit] ) in some translation unit; no diagnostic is required. [Note: See also 13.9.3 [temp.explicit] ]
History
Date User Action Args
2003-04-25 00:00:00adminsetstatus: dr -> tc1
1999-09-14 00:00:00adminsetmessages: + msg208
1999-09-14 00:00:00adminsetstatus: review -> dr
1998-07-10 00:00:00admincreate