This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/39653] New: error referencing a more specialized variadic template from primary
- From: "sebor at roguewave dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 5 Apr 2009 17:11:17 -0000
- Subject: [Bug c++/39653] New: error referencing a more specialized variadic template from primary
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
I believe the following program is well-formed but gcc rejects it with
the same error as the one discussed in bug 35722. I'm opening this as
a separate bug since unlike in bug 35722, the referenced template is
variadic.
$ cat t.C && g++ --version && g++ -std=c++0x t.C
template <class T, class ...Types>
struct S {
typedef typename S<Types...>::type type;
};
template <class T>
struct S<T> { typedef T type; };
g++ (GCC) 4.5.0 20090404 (experimental)
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
t.C:3: sorry, unimplemented: cannot expand ?Types ...? into a fixed-length
argument list
--
Summary: error referencing a more specialized variadic template
from primary
Product: gcc
Version: 4.5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: sebor at roguewave dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39653