From-SVN: r18304
This commit is contained in:
Jason Merrill 1998-02-28 10:32:36 -05:00
parent 11686454d6
commit b9af0782c4
2 changed files with 43 additions and 0 deletions

View File

@ -0,0 +1,23 @@
#include <typeinfo>
template <class T>
struct allocator {
typedef T* pointer;
template <class U> struct rebind {
typedef allocator<U> other;
};
};
template <class T, class Allocator>
struct alloc_traits
{
typedef typename Allocator::template rebind<T>::other allocator_type;
};
main ()
{
typedef alloc_traits<int, allocator<void> >::allocator_type at;
return typeid (at) != typeid (allocator <int>);
}

View File

@ -0,0 +1,20 @@
template <class T> struct A {
template <class U> struct B {
template <class V> static void f () { }
void g () { }
};
};
template <class T, class U>
void f ()
{
A<T>::template B<U>::template f<T> ();
typename A<T>::B<U> b;
typename A<T>::template B<U> b2;
b.A<T>::template B<U>::~B();
}
main ()
{
f<int, char>();
}