This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 120b. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.
2026-07-26
(From submission #860.)
Subclause 6.7 [basic.link] bullet 11.1 applies to all functions and variables, including templated ones, thus can involve dependent types for which "same type" is not defined.
Proposed resolution (approved by CWG 2026-05-08):
Change in 6.7 [basic.link] bullet 11.1 as follows:
For any two declarations of an entity E:
- If one declares E to be a (possibly templated) variable or function, the other shall declare E as one of
the sameequivalent type (13.7.7.2 [temp.over.link]).- ...
- If one declares E to be a class template, the other shall do so with the same kind and an equivalent template-head
(13.7.7.2 [temp.over.link]).- ...
CWG 2026-06-10
It is believed that 13.7.7.2 [temp.over.link] or 13.6 [temp.type] should define "same type" to be applicable for dependent types, too. See issue 2584 for the missing definition.