[Bug c++/51203] New: Recursive alias templates not working
pubby.8 at gmail dot com
gcc-bugzilla@gcc.gnu.org
Fri Nov 18 07:49:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51203
Bug #: 51203
Summary: Recursive alias templates not working
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: pubby.8@gmail.com
-std=c++11
gcc version 4.7.0 20111112 (experimental) (GCC)
I presume this is correctly formed code:
template <typename t>
struct foo {
template <int n>
using next = typename foo<t>::next<n + 1>;
};
main.cpp:4:37: error: expected ‘;’ before ‘<’ token
main.cpp:4:37: error: expected unqualified-id before ‘<’ token
Interestingly, changing the line to this compiles so long as next isn't used:
using next = typename foo<t>::next;
The error is very similar to this ill-formed code:
using next<n> = int;
main.cpp:4:13: error: expected ‘=’ before ‘<’ token
main.cpp:4:13: error: expected type-specifier before ‘<’ token
main.cpp:4:13: error: expected ‘;’ before ‘<’ token
main.cpp:4:13: error: expected unqualified-id before ‘<’ token
More information about the Gcc-bugs
mailing list