Annex G (informative) Ill-formed, no diagnostic required [ifndr]

G.10 [temp]: Templates [ifndr.temp]

G.10.11[ifndr:temp.explicit.decl.implicit.inst]
Specified in: [temp.explicit]

If an entity that is the subject of an explicit instantiation declaration and that is also used in a way that would otherwise cause an implicit instantiation ([temp.inst]) in the translation unit is not the subject of an explicit instantiation definition somewhere in the program the program is ill-formed, no diagnostic required.
[Example 1: extern template class std::vector<int>; // explicit instantiation declaration int main() { std::cout << std::vector<int>().size(); // IFNDR, implicit instantiation but no explicit // instantiation definition } — end example]