This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 115d. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.
2024-10-26
[Adopted at the February/March, 2017 meeting.]
The current wording of 13.3 [temp.names] paragraph 5 is:
A name prefixed by the keyword template shall be a template-id or the name shall refer to a class template.
Presumably this should also allow template before alias templates. For example,
template<template<typename> class Template> struct Internal { template<typename Arg> using Bind = Template<Arg>; }; template<template<typename> class Template, typename Arg> using Instantiate = Template<Arg>; template<template<typename> class Template, typename Argument> using Bind = Instantiate<Internal<Template>::template Bind, Argument>;
Proposed resolution (March, 2017):
This issue is resolved by the resolution of issue 1710.