This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 115g. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.
2024-12-16
[Accepted at the February, 2020 (Prague) meeting.]
The rules for type-dependency do not appear to take the bool type associated with concept-ids into account. For example:
template <typename T> concept C = true; template <typename T> struct A; template <> struct A<bool> { using type = bool; }; template <typename T> void f(A<decltype(C<T>)>::type); // error: needs typename to avoid vexing parse
Proposed resolution (February, 2020):
Change 13.8.3.3 [temp.dep.expr] paragraph 3 as follows:
An id-expression is type-dependent if it is not a concept-id and it contains
...
Change 13.8.3.4 [temp.dep.constexpr] paragraph 3 as follows:
An id-expression is value-dependent if:
it is a concept-id and any of its arguments are dependent,
it is type-dependent,
...