I think this is fine as is: what p6 is saying is that the "declaration" in the syntax of an explicit instantiation does not define a variable, even if the syntactic "declaration" is in the syntax (it could potentially be interpreted as an ODR violation because typically a variable declaration is a definition, so this paragraph disambiguates)



Sent from my Samsung Galaxy smartphone.

-------- Original message --------
From: Vladimir Grigoriev via Std-Discussion <std-discussion@lists.isocpp.org>
Date: 8/2/19 11:31 (GMT-05:00)
To: std-discussion <std-discussion@lists.isocpp.org>
Cc: Vladimir Grigoriev <vlad.moscow@mail.ru>
Subject: [std-discussion] Ambiguity in the definitions of the explicit instantiation declaration and the explicit instantiation definition

In the p.#2 of the section 13.8.2 Explicit instantiation (C++20) there is written

There are two forms of explicit instantiation: an explicit instantiation definition and an explicit instantiation declaration. An explicit instantiation declaration begins with the extern keyword.

However then in the p.#6 there is written

Despite its syntactic form, the declaration in an explicit-instantiation for a variable is not itself a definition and does not conflict with the definition instantiated by an explicit instantiation definition for that variable.

So it seems these two quotes confuse readers of the Standard.

With best regards,
Vlad from Moscow

You can meet me at http://cpp.forum24.ru/ or www.stackoverflow.com or http://ru.stackoverflow.com