This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 119a. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.
2025-12-20
[Voted into WP at March, 2010 meeting.]
According to 9.6 [dcl.fct.def] paragraph 10,
A deleted definition of a function shall be the first declaration ofthe function.
The Standard is not currently clear about what the “firstdeclaration” of an explicit specialization of a functiontemplate is. For example,
template<typename T> void f() { } template<> void f<int>() = delete; // First declaration?Proposed resolution (October, 2009):
A deleted definition of a function shall be the first declaration ofthe functionor, for an explicit specialization of a functiontemplate, the first declaration of that specialization.
(This resolution also resolvesissue 915.)
Notes from the October, 2009 meeting:
It was observed that this specification is complicated by the factthat the “first declaration” of a function might be in ablock-extern declaration.