[Bug c++/13616] New: fails to look up template specialization of template template parameter involving own template parameters
hetadres at email dot com
gcc-bugzilla@gcc.gnu.org
Thu Jan 8 16:31:00 GMT 2004
gcc fails to look up a template specialization of a template template parameter
with a template class, instanciated with one of its own template parameters.
Following code compiles fine, but produces "general" as output, where
"specialization" would be expected. I did not include a preprocessed version of
the code, because <iostream> is only used to show wich version of class C is
instanciated.
Compiled on:
Gentoo Linux 1.4
gcc version 3.2.3 20030422
code:
#include <iostream>
template <
class T,
class P
> class PPImpl { };
template<class P> struct PP {
template<class T> class Type : PPImpl<T, P> { };
};
template <
class P,
template <class> class Q
> class C {
public:
C() { std::cout << "general\n"; }
};
template <
class P
> class C <P, PP<P>::Type > {
public:
C() { std::cout << "specialization\n"; }
};
int main() {
C<double, PP<double>::Type>c;
}
--
Summary: fails to look up template specialization of template
template parameter involving own template parameters
Product: gcc
Version: 3.2.3
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hetadres at email dot com
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13616
More information about the Gcc-bugs
mailing list